map()とforeach()


map()


配列でよく使われるmap()メソッドを見てみましょう.
まず,map()メソッドは配列を繰り返すために用いられる.
callback関数で、返される各要素を戻り値で変更します.
map()メソッドが返す値は,修正した値で再生成される配列である.
map()メソッドを用いて平方を行う方法を紹介します.
const nums = [1,2,3,4,5,6];
const output = nums.map(element => element 
* element)
-> element 는 매개변수입니다. 
=== 
const output = nums.map(function(element) {
	return element * element
})
console.log(nums) // [1,2,3,4,5,6]
console.log(output) // [1,4,9,16,25,36]
さらに理解するために、もう一つ例を書きます.
map()メソッドはコールバック関数を受信し、パラメータ(要素、インデックス、配列)として3つのコールバック関数を受信することができ、要素は各配列の要素値である.
ex ) nums.map(element,index.array) => {
console.log(element)
console.log(index)
}

forEach()


forEach()メソッドは、アレイ要素ごとに指定された関数を実行します.
mdnと書いてありますが、どういう意味か分かりません.
まず,この方法は配列の繰返し文として用いられる.
配列でのみ使用できます.また,配列の開始から最後の要素まで巡回するため,余分な長さは必要ない.
コールバック関数はパラメータとして入力され、与えられたコールバック関数は要素、インデックス、配列の3つのパラメータを受信できます.
forEach()メソッド自体は値を返さず、map()メソッドとは大きく異なります.
map()メソッドは、要素が変更された配列を返します.
forEach()は何も返さない.
したがってforeachに渡されるcallback関数も何も返さない.
forEachはfor文ではなく繰り返しの方法です.
->ではなぜfor文の代わりにforeachを使うのでしょうか…?
文字よりもコードを理解して読むので、コードを書いてみましょう.
最後からforEach()に値を抽出し、割り当てられた変数をconsoleに割り当てます.log()に出力するとundefinedが表示されます.