記事の内容
forEach
forEachメソッドは、Arrayオブジェクト内の要素に対して繰り返し処理をするメソッドになります。
記法
配列.forEach ( function ( value, index, array ) {
// 処理内容
} , this);
[引数の意味] ========================
value : 配列の値が1つずつ渡される
index : 配列のキーが1つずつ渡される
array : 配列が渡される
that : コールバック関数内のthisの参照オブジェクト
例
let ary = [2, 4, 6, 8]
let sum = 0;
ary.forEach(function(value, index, array) {
sum += value;
console.log("value : " + value);
console.log("index : " + index);
console.log("array : " + array);
console.log("sum : " + sum);
console.log("============================= ");
});
出力結果
value : 2
index : 0
array : 2,4,6,8
sum : 2
=============================
value : 4
index : 1
array : 2,4,6,8
sum : 6
=============================
value : 6
index : 2
array : 2,4,6,8
sum : 12
=============================
value : 8
index : 3
array : 2,4,6,8
sum : 20
=============================
アロー関数
記法
配列.forEach ( ( value, index, array ) => 処理 )
例
let ary = [2, 4, 6, 8];
let ary2 = [];
let sum = 0;
ary.forEach((value) => ary2.push(sum += value));
console.log("ary2 : " + ary2);
出力結果
ary2 : 2,6,12,20
コールバック関数
記法
コールバック関数
新しい配列 = 配列.forEach(callbackFn)
例
let ary = [2, 4, 6, 8];
let ary2 = [];
let sum = 0;
// コールバック関数
function callbackFn(value){
return ary2.push(sum += value);
}
ary.forEach(callbackFn);
console.log("ary2 : " + ary2);
出力結果
ary2 : 2,6,12,20
コールバック関数(thisあり)
記法
コールバック関数
配列.forEach(callbackFn, this)
例
let ary = [2, 4, 6, 8];
let ary2 = [];
let sum = 0;
// コールバック関数
function callbackFn(value){
return ary2.push(sum += value * this);
}
ary.forEach(callbackFn, 10);
console.log("ary2 : " + ary2);
出力結果
ary2 : 20,60,120,200