다음과 같은 두 개의 객체가 있다고 가정합니다. -
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 }