数组对象求和

有这样一个数组arr,让每个对象的num1相加, num2相加, num3相加, 然后返回得到3个数。即num1的总和,num2的总和, num3的总和。
方法如下:

let arr = [
  {id: 1, num1: 10, num2: 20, num3: 30},
  {id: 2, num1: 10, num2: 20, num3: 30},
  {id: 3, num1: 10, num2: 20, num3: 30}
]
		
let result  =arr.reduce((p,c) => {
  Object.keys(p).forEach(k=>p[k]+=c[k])
    return p
}, {num1: 0, num2: 0, num3:0})

console.log(result)  // {num1: 30, num2: 60, num3: 90}
posted @ 2020-08-19 18:33  ZerlinM  阅读(1601)  评论(0编辑  收藏  举报