LoginSignup
8
6

More than 5 years have passed since last update.

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

Posted at

動作確認環境

  • 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
8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6