const arr = [
{ size: ‘L‘, num: 2 },
{ size: ‘XL‘, num: 2 },
{ size: ‘L‘, num: 3 },
{ size: ‘XXL‘, num: 6 },
]
// output
// [
// { size: ‘L‘, num: 5 },
// { size: ‘XL‘, num: 2 },
// { size: ‘XXL‘, num: 6 },
// ]
const res = Object.values(
arr.reduce((prev, { size, num }) => {
prev[size] = { size, num: (prev[size] ? prev[size].num : 0) + num }
return prev
}, {})
)
console.log(res)
原文:https://www.cnblogs.com/AAABingBingBing/p/14859491.html