1.reduce()的語法:
//語法:
Array.reduce(callback,initValue);
2.reduce()參數解釋:
callback : callback是reduce函數的回調函數,可以對數組中的數據項進行累加,其中reduce()函數接收四個參數,分別是:preValue,curValue,index,arr
- preValue : 上次回調函數的返回值,或者提供的初始值(initValue);
- curValue : 數組中正在被處理的數據項;
- index : 正在被處理的數據項的下標;
- arr : 調用reduce()函數的數組;
initValue : 作為第一次調用callback函數的第一個參數;
- reduce()方法對數組中的每一個數據項執行callback函數,但是不包括數組中已經被刪除或者從未被賦值的元素,回調函數在第一次執行的時候,如果initValue在調用reduce的時候被提供,那么回調函數的第一個參數preValue等于initValue,并且curValue等于數組中的第一個元素,如果initValue在調用reduce的時候沒有提供,那么回調函數中的第一個參數preValue等于數組中的第一個元素,并且curValue等于數組中的第二個元素。
var arr = [10,11,12,13,14];
arr.reduce((preVaule,curValue,index,arr)=>{
debugger;
return preVaule + curValue;
},0)
//把obj對象中的每一個屬性追加"ABC";
var obj = {name:'tom',age:'15',tel:'123489',salary:'10000'};
Object.keys(obj).reduce((pre,cur,index) => {
var prefix = 'ABC';
pre[[prefix,cur].join("_")] = obj[cur];
return pre;
},{})
//{ABC_name: "tom", ABC_age: "15", ABC_tel: "123489", ABC_salary: "10000"}