다음과 같은 두 개의 객체가 있다고 가정합니다. -
const obj1 = {
a:12, b:8, c:17
};
const obj2 = {
a:2, b:4, c:1
}; 이러한 객체를 두 개 받는 JavaScript 함수를 작성해야 합니다.
함수는 동일한 속성의 값을 단일 속성으로 합산해야 합니다. 따라서 최종 개체는 다음과 같아야 합니다. -
const output = {
a:14, b:12, c:18
}; 참고 − 간단하게 하기 위해 두 개의 개체를 사용했지만 여러 개체를 가져와서 속성 값을 추가할 수 있도록 함수를 작성해야 합니다.
예시
const obj1 = {
a:12,
b:8,
c:17
};
const obj2 = {
a:2,
b:4,
c:1
};
const sumObjectsByKey = (...objs) => {
const res = objs.reduce((a, b) => {
for (let k in b) {
if (b.hasOwnProperty(k))
a[k] = (a[k] || 0) + b[k];
}
return a;
}, {});
return res;
}
console.log(sumObjectsByKey(obj1, obj2)); 출력
콘솔의 출력은 -
{ a: 14, b: 12, c: 18 }