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"}