array.forEach(element => {console.log(element);});はよくわからないという方向けの説明です。
forEachメソッドについて
const numbers=[1,2,3];
numbers.forEach((number) =>{console.log(number);});
ここの引数の使い方がいまいち理解できません。
numberが定義されていないのになぜこれでちゃんと出力されるのですか?
①forを用いた記述
function test()
{
var array=[1,2,3,4,5];
for( var i=0; i < array.length; i++ )
{
console.log( array[i] );
}
}
②forの処理を関数化
function hogehoge( number )
{
console.log( number );
}
function test()
{
var array=[1,2,3,4,5];
for( var i=0; i < array.length; i++ )
{
hogehoge( array[i] );
}
}
③コールバック関数風に書き換え
function hogehoge( number )
{
console.log( number );
}
function test()
{
var array=[1,2,3,4,5];
var callbackFunction = hogehoge;
for( var i=0; i < array.length; i++ )
{
callbackFunction( array[i] );
}
}
④for文自体を関数化
function hogehoge( number )
{
console.log( number );
}
function forEachFunction( array, callbackFunction )
{
for( var i=0; i<array.length; i++)
{
callbackFunction( array[i] );
}
}
function test()
{
var numbers=[1,2,3,4,5];
forEachFunction( numbers, hogehoge );
}
⑤forEachに書き換える
function hogehoge( number )
{
console.log( number );
}
function test()
{
var numbers=[1,2,3,4,5];
numbers.forEach( hogehoge );
}
⑥forEachの中で関数を定義する
function test()
{
var numbers=[1,2,3,4,5];
numbers.forEach(
function hogehoge(number){console.log(number);}
);
}
⑦アロー関数で定義する
function test()
{
var numbers=[1,2,3,4,5];
numbers.forEach(
number=>{console.log(number);}
);
}