#javascript #data-structures
Вопрос:
Если у меня есть массив объектов, подобных этому:
obj = [{id:1,value:2},{id:1,value:3},{id:2,value:8}]
Как я могу суммировать значения с одним и тем же идентификатором и вернуть другой массив с итогами по каждому индексу?
Комментарии:
1. Уменьшение массива………
Ответ №1:
Вы можете использовать сокращение для достижения этой цели
const obj = [{
id: 1,
value: 2
}, {
id: 1,
value: 3
}, {
id: 2,
value: 8
}, {
id: 3,
value: 4
}, {
id: 2,
value: 1
}]
const result = Object.values(
obj.reduce((a, { id, value }) => (((a[id] ??= { id, value: 0 }).value = value), a), {})
);
console.log(result)
Комментарии:
1. вы можете объяснить? Я вообще ничего не понимаю….