Help us understand the problem. What is going on with this article?

JavaScript Array.map()/every()/some()

動作確認環境

  • Windows8.1
  • Node.js 10.14.1

Array.map()

map()は、配列に対して使うことができるメソッド。
各要素に対してcallback関数を実行することができる。
また、結果を新しい配列として返す。このとき、もともとの配列には変更を加えない。

var array = [1, 2, 3, 4];

var newArray = array.map(function(value){
  return value + 5;
});

console.log(newArray);    // [ 6, 7, 8, 9 ]
console.log(array);       // [ 1, 2, 3, 4 ]

callback関数の引数

callback関数は3つの引数をとることができる。

/**
value: 現在処理中の要素
index: 現在処理中の要素の配列内でのindex番号(省略可)
array: 現在このmapメソッドを実行中の配列(省略可)
**/
array.map(function(value, index, array){ });

以下、サンプル。

var array = [1, 2, 3, 4];

var newArray = array.map(function(value, index, array){
  //一番最初の要素は変更を加えない
  if(index == 0){
    return value;
  }
  // 元の配列にも変更を加える
  array[index] = value * 2;
  return value  * 2;
});

console.log(newArray);    // [ 1, 4, 6, 8 ]
console.log(array);       // [ 1, 4, 6, 8 ]

Array.every()

配列に対して使うことができるメソッド。
配列の各要素に対してテストを行うcallback関数を実行でき、すべての要素でtrueが返った場合に、every()の返り値がtrueとなる。
また、callback関数はmap()と同様のものを持つ。

var array = [100, 50, 49, 39];

var result = array.every(function(value){
  return value < 100;
});

console.log(result);    // false

Array.some()

配列に対して使うことができるメソッド。
配列の各要素に対してテストを行うcallback関数を実行でき、少なくとも一つの要素でtrueが返った場合に、some()の返り値がtrueとなる。
また、callback関数はmap()と同様のものを持つ。

var array = [100, 50, 49, 39];

var result = array.some(function(value){
  return value < 100;
});

console.log(result);    // true
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away