uonick
@uonick
Сгибатель бананов

Как просуммировать два объекта по ключу в Javascript?

Привет!
Вроде простая задача, а решить красиво и без костылей как-то хз как.
Лапшекод писать тоже совесть не позволяет.

Есть массив с товарами:
[
    {
       id: 1,
       name: 'iPhone',
       quantity: 1
    }
]


Нужно "запушить в массив" точно такой же товар, который, если id совпадает, просто увеличивает свойство quantity имеющегося. Если id не совпадает, то, соответственно добавить его в массив рядом.

З.Ы.: Можно юзать lodash.
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const obj = arr.find(n => n.id === newObj.id);
if (obj) {
  obj.quantity += newObj.quantity;
} else {
  arr.push({ ...newObj });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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