js数组操作API(reduce的用法)

1.reduce()的语法:

//语法:
Array.reduce(callback,initValue);

2.reduce()参数解释:

callback : callback是reduce函数的回调函数,可以对数组中的数据项进行累加,其中reduce()函数接收四个参数,分别是:preValue,curValue,index,arr

  • preValue : 上次回调函数的返回值,或者提供的初始值(initValue);
  • curValue : 数组中正在被处理的数据项;
  • index : 正在被处理的数据项的下标;
  • arr : 调用reduce()函数的数组;

initValue : 作为第一次调用callback函数的第一个参数;

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

你可能感兴趣的:(js数组操作API(reduce的用法))