Как сложить одинаковые элементы в 2D массиве по первому ключу

Есть массив данных, состоящий из суммы нескольких массивов (поставки товаров в разные даты), нужно суммировать все повторяющиеся значения по первому ключу и поместить результат во второй массив.

let a = [
["A",1], ["B",1], ["D",1], ["F",3], ["A",7], ["D",8], ["F",4],
]

Результатом должен быть массив:

let b = [
["A",8], ["B",1], ["D",9], ["F",7]
]

Ответы (1 шт):

Автор решения: ksa

Есть массив данных, состоящий из суммы нескольких массивов (поставки товаров в разные даты), нужно суммировать все повторяющиеся значения по первому ключу и поместить результат во второй массив

Такое можно проделать следующим образом...

const a = [
  ["A",1], ["B",1], ["D",1], ["F",3], ["A",7], ["D",8], ["F",4],
]
const b = [...a.reduce((m, [k, v]) => m.set(k, (m.get(k) ?? 0) + v), new Map)]
console.log(b)

→ Ссылка