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. работает только для одного уровня вложенности.