JavaScript ・ 配列・オブジェクト

map()

配列の各要素を変換した新しい配列を作る

配列の要素1つずつに関数を実行し、その戻り値を集めた新しい配列を作ります。元の配列は変わりません。

種類
配列のメソッド
戻り値
新しい配列(要素数は同じ)
元の配列
変更しない
01

サンプルコード

JS
1const prices = [480, 550, 620];
2
3const withTax = prices.map((p) => Math.round(p * 1.1));
4const labels = prices.map((p) => `${p}円`);
5
6console.log(withTax);
7console.log(labels);
8console.log(prices);
02

実行結果

コンソール
  1. console.log() の出力がここに表示されます
03

解説

map() は「すべての要素を同じルールで変換する」ためのメソッドです。関数が返した値を順に並べた、新しい配列が返ります。

要素の数は元の配列と同じになります。元の配列は変更されないため、元のデータを残したまま加工できます。

オブジェクトの配列から特定の値だけを取り出す(例:商品名の一覧を作る)といった使い方もよくします。

04

応用例・注意点

配列を加工するメソッド

メソッド説明
map()各要素を変換した配列を作る
filter()条件に合う要素だけの配列を作る
find()条件に合う最初の要素を取り出す
reduce()要素をまとめて1つの値にする(合計など)
sort()並べ替える(元の配列も変わる)

オブジェクトの配列から名前だけ取り出す

必要なプロパティだけを集めた配列を作れます。

JS
1const menu = [
2 { name: 'ブレンド', price: 480 },
3 { name: 'カフェラテ', price: 550 },
4];
5const names = menu.map((m) => m.name);
6console.log(names);

注意点

  1. 01関数で return を忘れると、要素がすべて undefined の配列になります。
  2. 02画面への表示など、新しい配列が不要な処理には forEach() を使います。
↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉