TIL 005 | JavaScript Array.prototype.reduce()
Array.prototype.reduce()
reduce()
メソッドは、配列内の各要素に対して所与のreducer(reduce)関数を実行し、結果値を返します(配列内の値を1つに減らします)map
、filter
、find
関数によって実現可能なすべての機能はreduce
によって実現することができる.1.構文
arr.reduce(callback[, initialValue])
パラメータ
callback
:アレイ内の各要素に対して実行する関数.次は指数を受け入れます.acumulator
:コールバックの戻り値を累計します.コールバックの最後の戻り値が、initialValue
の場合、initialValue
の値currentValue
:処理する現在の要素currentIndex(Optional)
:処理する現在の要素のインデックス;initialValue
は0、そうでない場合は1array(Optional)
:reduce()
呼び出しの配列initialValue(Optional)
:コールバックの最初の呼び出しは、最初のパラメータに提供される値である.初期値が指定されていない場合は、配列の最初の要素が使用されます.reduce()
が空の配列で初期値なしに呼び出されると、エラーが発生します.return
計算結果値の累計
2.起動方式
1.initialValueがある場合
let sampleArray = [1,2,3,4,5]
var result = sampleArray.reduce((accumulator, currentValue, currentIndex, array){
return accmulator + currentValue},0)
console.log(result) // 15
コールバックは5回呼び出され、各パラメータには次の値があります.callbackaccumlatorcurrentValuecurrentIndexarrayreturn1010[1,2,3,4,5]12121[1,2,3,4,5]33332[1,2,3,4,5]64643[1,2,3,4,5]1051054[1,2,3,4,5]15
2.InitialValueなし
let sampleArray = [1,2,3,4,5]
var result = sampleArray.reduce((accumulator, currentValue, currentIndex, array){
return accmulator + currentValue})
console.log(result) // 15
コールバックは4回呼び出され、各パラメータには次の値があります.callbackaccumlatorcurrentValuecurrentIndexarrayreturn1121[1,2,3,4,5]32332[1,2,3,4,5]63643[1,2,3,4,5]1041054[1,2,3,4,5]15
initialValue
が指定されていない場合、reduce()
はインデックス1からコールバック関数を実行し、0番目のインデックスをスキップします.reduce()
関数呼び出し時initialValue
値なし:accumlator
アレイの最初の値currentValue
は配列の2番目の値Reference
この問題について(TIL 005 | JavaScript Array.prototype.reduce()), 我々は、より多くの情報をここで見つけました https://velog.io/@thisisemptyyy/TIL-005-JavaScript-Array.prototype.reduceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol