LoginSignup
3
0

More than 1 year has passed since last update.

[JS]mapとforEachの違い

Posted at

はじめに

JavaScript初学者です。
mapとforEachの違いについて学んだので備忘録として残しておきます。

公式ドキュメント

それぞれ公式ドキュメントから説明を引用させていだだきます。

mapの場合

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

foreachの場合

forEach() メソッドは与えられた関数を、配列の各要素に対して一度ずつ実行します。

要するに2つの違いは新しい配列を返すか返さないかということになります。

具体例

forEachの場合

const Array = [1,2,3,4,5]

console.log(Array.forEach(x => x * 2 ))
=> undefined

forEachは処理するだけなので返り値は何もありません

mapの場合

const Array = [1,2,3,4,5];

console.log(Array.map(x => x * 2 ))
=>  [2, 4, 6, 8, 10]

mapは処理をした上で新しい配列を返してくれます。

もしforEachで新しい配列を作りたい場合は以下のようになります。

const Array = [1,2,3,4,5];
const newArray = [];

Array.forEach( x => newArray.push(x * 2) );
console.log(newArray)
=> [2, 4, 6, 8, 10]

まとめ

今回はmapとforEachを比較しましたがmapの方がコードがシンプルかつ新しい配列を返してくれるので便利だし実際mapの使用率の方が高そうです。

しかしforEachの方が処理速度が早いらしいです、また新しい配列を返さないので使い分け考えてコードを書いてみるのも良いかもしれませんね。

3
0
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
3
0