メソッドの配列を減らします

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}

 

おすすめ

転載: www.cnblogs.com/xjy20170907/p/11119795.html