Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
150 views
in Technique[技术] by (71.8m points)

数组对象求和问题

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

想问一下,有什么逼格比较高的方法,让每个对象的num1相加, num2相加, num3相加, 然后返回得到3个数。即num1的总和,num2的总和, num3的总和....


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
arr.reduce((p,c) => {
   Object.keys(p).forEach(k=>p[k]+=c[k])
   return p
}, {num1: 0, num2: 0, num3:0})
// {num1: 30, num2: 60, num3: 90}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...