let arr = [{id: 1, value: 234}, {id: 2, value: 33}, {id: 1, value: 2}, {id: 2, value: 23}, {id: 2, value: 5},{id: 3, value: 5},]
let map = new Map() for (let item of arr) { if (map.has(item.id)) { let data = map.get(item.id) data.value = data.value + item.value map.set(item.id, data) } else { map.set(item.id, item); } } arr = [...map.values()];
输出 [ { id: 1, value: 236 }, { id: 2, value: 61 }, { id: 3, value: 5 } ]