使用es6的reduce方法求和

let list = [
    { id: 1, price: 2 },
    { id: 2, price: 4 },
    { id: 3, price: 6 }
] 

看下reduce方法的参数含义

list.reduce( (acc,cur,idx,src) => {
      console.log('a',acc);   // acc:上一次调用回调时返回的累积值
      console.log('b',cur);   // cur:正在处理的元素
      console.log('c',idx);   // idx:正在处理的当前元素的索引
      console.log('d',src);   // src:源数组(原数组)
     // callback:执行数组中每个值的函数
})  

打印结果如图:

使用

let res = list.reduce((acc,cur) => {
    return acc+cur.price
},0)
console.log(res);  // => 12
posted @ 2019-11-18 18:25  zoo-x  阅读(5357)  评论(0)    收藏  举报