Array.prototype.reduce()

(標準組み込みオブジェクト > Array > メソッド)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

配列.reduce((previousValue, currentValue, currentIndex, array) => {fn, initialValue})

「reduce()」は、配列データの各要素を累積して1つの値にする用途に最適なメソッドである。

  • previousValue: 直前要素での関数fnの処理結果(累積値)
  • currentValue: その配列での関数fnの処理結果(要素)
  • currentIndex: 処理を行なっている要素のインデックス
  • array: reduceに与えている配列
  • fn: reduceに与えているコールバック関数
  • initialValue: 1つ目の要素計算で使われる値(初期値)

以下の例は、それぞれの配列の要素でコールバック関数による計算を行い、その要素の計算結果を次の要素での計算に回し計算し、最終要素での計算結果が返り値になる。

const sum = [0, 1, 2, 3].reduce(function (previousValue, currentValue) {
  return previousValue + currentValue
}, 0) // => 6

// アルゴリズム
// 計算1回目: 0(initialValue) + 0(currentValue) = 0 
// 計算2回目: 0(previousValue) + 1(currentValue) = 1
// 計算3回目: 1(previousValue) + 2(currentValue) = 3
// 計算4回目: 3(previousValue) + 3(currentValue) = 6 ←reduce関数として返す返り値
inserted by FC2 system