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

JavaScript에서 배열 요소를 교대로 결합

<시간/>

문제

우리는 리터럴 배열을 입력으로 받는 JavaScript 함수를 작성해야 합니다.

우리 함수는 모든 입력 배열에서 교대로 선택되는 요소를 포함하는 새 배열을 준비해야 합니다.

예를 들어, 함수에 대한 입력이 -

인 경우

입력

const arr1 = [1, 2, 3, 4];
const arr2 = [11, 12, 13, 14];
const arr3 = ['a', 'b', 'c'];

출력

const output = [1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14];

예시

다음은 코드입니다 -

const arr1 = [1, 2, 3, 4];
const arr2 = [11, 12, 13, 14];
const arr3 = ['a', 'b', 'c'];
const pickElements = (...arrs) => {
   const res = [];
   const max = Math.max(...arrs.map(el => el.length));
   for(let i = 0; i < max; i++){
      for (let j = 0; j < arrs.length; j++){
         if(arrs[j][i]){
            res.push(arrs[j][i]);
         }
      };
   };
   return res;
};
console.log(pickElements(arr1, arr2, arr3));

출력

[ 1, 11, 'a', 2, 12, 'b', 3, 13, 'c', 4, 14 ]