reduce


reduce


reduce()メソッドは、配列内の各要素に対して所与のreducer関数を実行し、結果値を配列として返します.
reduceは初期値を指定できます.初期値を指定しないと、配列の0番目の要素が初期値になります.
この初期値は累積値の基礎である.
その後、現在の値に変わり、関数で定義された操作を配列の終了インデックスに繰り返し、返された値は配列の累積値を返します.

reducer関数には4つの因子がある。

  • 積算値
  • 現在値
  • 現在のインデックス
  • ソースアレイ
  • reducer関数の戻り値はAccumatorに割り当てられ、Accumatorはループを維持するため、最終結果は値になります.
    アレイの和を求めるreducer関数を定義し、reduceとして実行します.
    次のコードは、初期値が指定されていない場合と、初期値が指定されていない場合の結果です.
    const arr1 = [1, 2, 3, 4];
    const reducer = function(acc, curVal) {
    	return acc + curVal;
    }
    
    //1+2+3+4
    console.log(arr1.reduce(reducer)); //10
    
    //7+1+2+3+4
    console.log(arr1.reduce(reducer, 7)); //17

    reduce関数によるプラス記号処理



    reduce関数を用いてフィルタ,マッピング方法のように処理することもできる.


    配列を初期値とし、配列に値を入れてマッピングメソッドと同じ値を返します。



    reduceの定理


    配列内の値を1つの値に縮小する役割を果たします.数値、配列、オブジェクトにかかわらず、戻り値は値です.