2番目のパラメータは初期値は、最も一般的に使用される方法は、重畳を減少させることで、渡され、以下の例を見ることができ、関数は初期値0を低減である減らす方法は、最初のパラメータが配列エントリの動作の関数であり、2つのパラメータを有します常に重畳された配列の項目:
VaRのアイテム= [10、120 1000 ]; // sumSoFar最初の初期値が1である、項目最初の初期値は、配列の最初の要素である、すなわち、10; VAR合計= items.reduce(機能、(sumSoFarを追加しますアイテム){ // 1 10。 // 11 120 // 131 1000がある にconsole.log(sumSoFar、項目); 戻り sumSoFarアイテムを+; // この値は次sumSoFarなる }、1 ); はconsole.log(合計); // 1131
同じタイプと渡される初期値、前の例の種類数初期値の結果を返す関数を減少させる、初期値は、オブジェクトのタイプであってもよいです。
VaRのアイテム= [10、120 1000 ]; // sumSoFarすなわち、最初の初期値{和:0}、項目初めて配列の最初の要素 のvar合計= items.reduce(関数(sumSoFar、項目) { // {SUM 10:0} // {SUM:10} 120 // {SUM:130} 1000年 にconsole.log(sumSoFar、項目); sumSoFar.sum = + sumSoFar.sumアイテム; // オブジェクトのsumSoFarアレイ内の各累積加算値を、処理された リターン sumSoFarを; // 処理sumSoFar目標リターンを }、{合計:0 }); はconsole.log(トータル); // {合計:1130}
VaRの ARR = [1,2,3,4,5,6,7,3,4,5,2,2,2 ]; // 最初の配列の初期値{}、KなどのP初めて処理後のpの各反復(P [K] ++ ||(後の最初の要素、 P [K] = 1)) のpの VaRの情報= arr.reduce(関数(P、K){ P [ K] ++ ||(P [K] = 1。); 戻りP; }、{}); にconsole.log(情報); // {1 :. 1、2 :. 4 ,. 3:2 ,. 4:2、 5:2,6:1,7:1}