Задать вопрос
@webe
frontend

Как найти сумму?

var a = [{
   id: 1,
   count: 1,
 }, {
   id: 2,
   count: 1,
 }, {
   id: 3,
   count: 3,
 }, ]


 var b = [{
   id: 1,
   count: 100,
 }, {
   id: 2,
   count: 100,
 }, {
   id: 3,
   count: 100,
 }]

 var data = a.concat(b);


Подскажите плиз как на современном JS сделать группировку с суммированием по полю count?
т.е. ответ должен быть такой.

var result = [{
   id: 1,
   count: 101,
 }, {
   id: 2,
   count: 101,
 }, {
   id: 3,
   count: 103,
 }]
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const uniqueWithSum = (arr, idKey, sumKey) =>
  Object.values(arr.reduce((acc, n) => (
    acc[n[idKey]] = acc[n[idKey]] || { ...n, [sumKey]: 0 },
    acc[n[idKey]][sumKey] += n[sumKey],
    acc
  ), {}));

const result = uniqueWithSum([ ...a, ...b ], 'id', 'count');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы