У меня есть массив записей, которые содержат объекты, каждая с id
и amount
. Теперь в этом массиве некоторые элементы имеют одинаковый идентификатор. Что мне нужно сделать, так это перебрать этот массив и, во-первых, суммировать значения для записей с одинаковым идентификатором, а затем вернуть только одну запись в этом случае - поэтому я получаю массив с только уникальными идентификаторами - - каждый из них также содержит свойство amount
.
Другими словами, я хочу взять этот массив:
const records = [
{id: 1, amount: 10},
{id: 1, amount: 20},
{id: 2, amount: 10},
{id: 3, amount: 10},
{id: 3, amount: -10}
];
... и создать этот массив:
const transformedRecords = [
{id: 1, amount: 30},
{id: 2, amount: 10},
{id: 3, amount: 0}
];
Я думал об использовании for-of
l oop для этого, но это может быть довольно многословным, и я предполагаю, что есть более краткий способ сделать это sh - возможно, с помощью reduce()
? Какой элегантный способ подойти к этому, предпочтительно с использованием синтаксиса es6 +?