es 6 reduce関数アプリケーション

8985 ワード

ES 6 reduce関数
パラメータ:
prev:前回のコールバック時に戻った結果、毎回呼び出した結果はprev curに与えられます.現在の要素index:現在のインデックスarr:ループの配列
戻り値:
関数積算処理の結果
適用:
  • は、行列の和
  • を求めます.
    var a = [1,2,3,4,5,6,7,8,9,10]
    
    var str = a.reduce(function(prev,cur,index,arr){
    	return prev + cur ;
    })
    
    2.二次元配列を一次元に変換する
    var a= [[0,1],[2,3],[4,5],[6,7],[8,9]];
     
    var str = a.reduce(function(prev,cur){
    	return prev.concat(cur)
    })
     
    str    //(10) [0,1, 2, 3, 4, 5, 6, 7, 8, 9]
    
  • 配列デ重量
  • var arr = [1,2,1,2,3,5,4,5,3,4,4,4,4];
    var str = arr.sort().reduce((prev, cur)=>{
        if(prev.length===0 || prev[prev.length-1]!==cur){
            prev.push(cur);
        }
        return prev;
    }, []);
    str // (5) [1, 2, 3, 4, 5]
    
  • 配列最大値
  • var arr = [323,442,34,34,123,12,31,233,323,34,657,534,234,23,4];
    
    var max = arr.reduce(function(x , y){
    return y > x ? y : x;
    });