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

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

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

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


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

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

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

Войти через центр авторизации
Похожие вопросы
22 сент. 2020, в 13:48
30000 руб./за проект
22 сент. 2020, в 13:46
30000 руб./за проект