JavaScript reduce()
reduce()とは、たたみ込み演算をする関数。
code:js
const sum = numbers.reduce((previousValue, currentValue) => {
console.log(firstElement: ${firstElement})
console.log(secondElement: ${secondElement})
return previousValue + currentValue
})
console.log(sum)
実行すると以下のログが出る。
code:js
firstElement: 10 // 配列インデックス0の要素
secondElement: 20 // 配列インデックス1の要素
// これらを足し算すると 10 + 20 = 30
// なので、次の firstElement には 30 が入っている
firstElement: 30
secondElement: 30 // 配列インデックス2の要素
// 30 + 30 = 60 なので、最終的に60が返る
60
初期値を与えることもできる
code:js
const sum = numbers.reduce((firstElement, secondElement) => {
console.log(firstElement: ${firstElement})
console.log(secondElement: ${secondElement})
return a + b
}, 100)
console.log(sum)
ログ
code:js
firstElement: 100 // 初期値がセットされている
secondElement: 10 // 配列インデックス0の要素はこちらにくる
// 100 + 10 = 110 なので、次のfirstElementには 110 が入る
firstElement: 110
secondElement: 20 // 配列インデックス1の要素が入る
// 110 + 20 = 130
firstElement: 130
secondElement: 30 // 配列インデックス2の要素が入る
// 130 + 30 = 160
160