forEach()とmap()の違い

(標準組み込みオブジェクト > Array > メソッド)

  • forEach()
    与えられた関数を配列の各要素に対して実行する。
  • map()
    与えられた関数を配列の各要素に対して実行して、その結果から新しい配列を返す。

「map()は新しい配列を返す」というところがポイント。
配列が必要なときは、map()を使い、そうではないときは、forEach()を使い分けると良い。

forEach()の使い方

const array = [2, 4, 6, 8];
const loop = array.forEach(x => x * 2);
// 4
// 8
// 12
// 16

console.log("loop:", loop); // undefined。forEach()メソッドは返さない。
console.log('array:', array) // [2, 4, 6, 8]。元のarrayはそのまま。

map()の使い方

const array = [2, 4, 6, 8];
const loop = array.map(x => x * 2);
// [4, 8, 12, 16]

console.log("loop:", loop); // [4, 8, 12, 16]。処理の結果を反映した新しい配列が生成される。
console.log("array:", array); // [2, 4, 6, 8]。元のarrayはそのまま。
inserted by FC2 system