JS, присоединение нового свойства, и суммирующее дублирующиеся свойства

Есть какая-нибудь библиотека делающая что-то вроде этого. concatProps это какая-нибудь готовая функция. Или хотя бы просто вставляющая новое свойство. Или реализация. Спасибо

obj1 = {
  a: 1,
  b: 2,
  c: 3
}

obj2 = {
  b: 2,
  c: 3,
  other: 5
}
let result = concatProps(obj1, obj2) // {a:1,b:4, c:6, other:5}


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

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

function concatProps(obj1, obj2) {
  const res = { ...obj2 };
  for (const prop of Object.keys(obj1)) {
    if (res[prop]) {
      res[prop] += obj1[prop];
    } else {
      res[prop] = obj1[prop];
    }
  }
  return res;
}

console.log(concatProps({ b: 2, c: 3, other: 5 }, { a: 1, b: 2, c: 3 }));
console.log(concatProps({}, { a: 1, b: 2, c: 3 }));
console.log(concatProps({ d: 9 }, { d: 20 }));

P.S. работает только для одного уровня вложенности.

→ Ссылка