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的总和....
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的总和....
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}
]
var sum = demo(arr);
// [60,60,60]
console.log(JSON.stringify(sum));
/**
* 对象求和
* @param {Array} list
* @return {Array} 和的集合
*/
function demo (list) {
return list.map(item => item.num1 + item.num2 + item.num3)
}
const result = arr.map(item => {
return {
...item,
sum: item['num1']+item['num2']+item['num3']
}
})
const result = arr.reduce((sum, item) => {
const total = item.num1 + item.num2 + item.num3
sum.push(total)
return sum
}, [])
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答872 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决