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

Python의 zip 함수에 해당하는 JavaScript

<시간/>

Python의 zip 함수와 동일한 JavaScript 함수를 작성해야 합니다. 즉, 동일한 길이의 여러 배열이 주어지면 쌍의 배열을 생성해야 합니다.

예를 들어 다음과 같은 세 개의 배열이 있는 경우 -

const array1 = [1, 2, 3];
const array2 = ['a','b','c'];
const array3 = [4, 5, 6];

출력 배열은 -

여야 합니다.
const output = [[1,'a',4], [2,'b',5], [3,'c',6]]

따라서 이 함수 zip()에 대한 코드를 작성해 보겠습니다. reduce() 메서드나 map() 메서드를 사용하거나 간단한 중첩 for 루프를 사용하는 것과 같은 여러 가지 방법으로 이 작업을 수행할 수 있지만 여기서는 중첩 forEach() 루프로 처리합니다.

예시

const array1 = [1, 2, 3];
const array2 = ['a','b','c'];
const array3 = [4, 5, 6];
const zip = (...arr) => {
   const zipped = [];
   arr.forEach((element, ind) => {
      element.forEach((el, index) => {
         if(!zipped[index]){
            zipped[index] = [];
         };
         if(!zipped[index][ind]){
            zipped[index][ind] = [];
         }
         zipped[index][ind] = el || '';
      })
   });
   return zipped;
};
console.log(zip(array1, array2, array3));

출력

콘솔의 출력은 다음과 같습니다. -

[ [ 1, 'a', 4 ], [ 2, 'b', 5 ], [ 3, 'c', 6 ] ]