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

객체 배열에 일치하는 키 값 추가 - JavaScript

<시간/>

다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -

const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];

각 객체는 고유한 키를 가져야 하며(유효한 객체가 되려면) 두 개의 서로 다른 객체가 공통 키를 가질 수 있습니다(이 질문의 목적).

우리는 이러한 배열 하나를 받아서 배열에 있는 모든 고유 키와 해당 값의 누적 합계를 값으로 포함하는 객체를 반환하는 JavaScript 함수를 작성해야 합니다.

따라서 결과 개체는 다음과 같아야 합니다. -

const output = {a: 6, b: 9, c: 6, d: 3};

예시

다음은 코드입니다 -

const arr = [{a: 2, b: 5, c: 6}, {a: 3, b: 4, d:1}, {a: 1, d: 2}];
const sumArray = arr => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      Object.keys(arr[i]).forEach(key => {
         res[key] = (res[key] || 0) + arr[i][key];
      });
   };
   return res;
};
console.log(sumArray(arr));

출력

이것은 콘솔에 다음과 같은 출력을 생성합니다 -

{ a: 6, b: 9, c: 6, d: 3 }