Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript 동일한 속성을 가진 두 객체의 합

<시간/>

다음과 같은 두 개의 객체가 있다고 가정합니다. -

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 }