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

JavaScript에서 한 배열의 모든 레코드를 다른 배열의 각 레코드에 추가합니다.

<시간/>

다음과 같은 일부 사용자에 대한 데이터를 포함하는 두 개의 문자열 배열이 있다고 가정합니다. -

const users = ['Rahul', 'Dinesh', 'Rohit'];
const data = ["SOP1", "SOP2","SOP3","SOP4"];

우리는 그러한 두 개의 배열을 취하고 새로운 객체 배열을 반환하는 JavaScript 함수를 작성해야 합니다.

새 배열은 사용자와 데이터 배열의 가능한 각 조합에 대한 개체를 포함해야 합니다.

따라서 위의 배열의 경우 출력은 다음과 같아야 합니다. -

const output = [
   { User: 'Rahul', SOP: 'SOP1' },
   { User: 'Rahul', SOP: 'SOP2' },
   { User: 'Rahul', SOP: 'SOP3' },
   { User: 'Rahul', SOP: 'SOP4' },
   { User: 'Dinesh', SOP: 'SOP1' },
   { User: 'Dinesh', SOP: 'SOP2' },
   { User: 'Dinesh', SOP: 'SOP3' },
   { User: 'Dinesh', SOP: 'SOP4' },
   { User: 'Rohit', SOP: 'SOP1' },
   { User: 'Rohit', SOP: 'SOP2' },
   { User: 'Rohit', SOP: 'SOP3' },
   { User: 'Rohit', SOP: 'SOP4' }
];

예시

이에 대한 코드는 -

const users = ['Rahul', 'Dinesh', 'Rohit'];
const data = ["SOP1", "SOP2","SOP3","SOP4"];
const multiplyUserData = (users = [], data = []) => {
   const res = [];
   users.forEach(user => {
      data.forEach(el => {
         res.push({
            'user': user,
            'sop': el
         });
      });
   });
   return res;
};
console.log(multiplyUserData(users, data));

출력

콘솔의 출력은 -

[
   { user: 'Rahul', sop: 'SOP1' },
   { user: 'Rahul', sop: 'SOP2' },
   { user: 'Rahul', sop: 'SOP3' },
   { user: 'Rahul', sop: 'SOP4' },
   { user: 'Dinesh', sop: 'SOP1' },
   { user: 'Dinesh', sop: 'SOP2' },
   { user: 'Dinesh', sop: 'SOP3' },
   { user: 'Dinesh', sop: 'SOP4' },
   { user: 'Rohit', sop: 'SOP1' },
   { user: 'Rohit', sop: 'SOP2' },
   { user: 'Rohit', sop: 'SOP3' },
   { user: 'Rohit', sop: 'SOP4' }
]