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

값이 배열인 객체와 배열을 병합하는 방법 - JavaScript

<시간/>

다음과 같은 배열과 객체가 있다고 가정합니다. -

const arr = [1, 2, 3, 4, 5];
const obj = {
   group1: ["Ram", "Mohan", "Shyam"],
   group2: ["Jai", "Dinesh"],
};

배열의 값이 개체의 값으로 키가 지정된 새 개체에 할당되도록 배열과 개체를 압축해야 합니다.

이렇게 -

const output = {
   group1: {
       "Ram": 1,
       "Mohan": 2,
       "Shyam": 3
   },
   group2: {
       "Jai": 4,
       "Dinesh": 5
   }
};

각 배열 항목을 반복하고 동시에 새 개체의 키에 값을 할당합니다.

예시

다음은 코드입니다 -

const arr = [1, 2, 3, 4, 5];
const obj = {
   group1: ["Ram", "Mohan", "Shyam"],
   group2: ["Jai", "Dinesh"],
};
const zipObject = (arr, obj) => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      if(obj['group1'][i]){
         if(!res['group1']){
            res['group1'] = {};
         };
         res['group1'][obj['group1'][i]] = arr[i];
      }else{
         if(!res['group2']){
            res['group2'] = {};
         }
         res['group2'][obj['group2'][i - obj['group1'].length]] =
         arr[i];
      };
   };
   return res;
};
console.log(zipObject(arr, obj));

출력

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

{
   group1: { Ram: 1, Mohan: 2, Shyam: 3 },
   group2: { Jai: 4, Dinesh: 5 }
}