map

カテゴリー:

mapは、与えられた関数を配列のすべての要素に対して呼び出し、その結果から新しい配列を生成する。

forEachと同じように、今までforを使用していたものを簡単に処理出来るようになった。

基本的な使い方

var numbers = [1, 2, 3];
var doubledNumbers = [];

var doubled = numbers.map(function(number){
    return number * 2;
});

変数名 = 配列名.map( 引数 => {

return 引数.map;

});

引数から新しい配列を生成する。

注意点

forEachと大きく違う部分は、return文が必要であるというところ。

returnが無い場合、新たに生成された配列の中身がnullとなるので注意。

利用例

あるオブジェクトにある、特定の値を取得したい場合などに利用

const cars = [ 
  { type: '軽自動車', price:'やすい'}, 
  { type: '高級車', price:'高い'} 
]; 
let prices = cars.map(function(car){ 
  return car.price; 
});

pluckという関数を作成(引数は配列とオブジェクトの名前を渡す)

return で新しい配列を返す。

下記の関数では、2度returnを使用しているという部分に注意が必要

const paints = [ 
  {color: '赤' },
  {color: '青' },
  {color: '黄色' } 
]; 

pluck(paints,'color');

function pluck(array, property) { 
  return array.map(function(arrayItem){ 
    return arrayItem[property]; 
  });
}

参考URL

タグ: