js Array zip함수

파이썬에는 배열에 적용할 수 있는 zip함수가 있다.

이 함수는 배열을 다음과 같이 만든다.

1
2
3
4
5
arr1 = [1, 2, 3];
arr2 = [4, 5, 6];
arr3 = [7, 8, 9];

zip(arr1, arr2, arr3); //[[1,4,7],[2,5,8],[3,6,9]];

js로는 다음과 같이 zip함수를 만들 수 있다.

1
zip = (rows) => rows[0].map((_, c) => rows.map((row) => row[c]));

실제 실행결과는 다음과 같다..!

1
2
3
4
5
6
7
8
9
10
11
arr1 = [1, 2, 3];
arr2 = [4, 5, 6];
arr3 = [7, 8, 9];

zip[(arr1, arr2, arr3)];

/* result
0: (3) [1, 4, 7]
1: (3) [2, 5, 8]
2: (3) [3, 6, 9]
*/

댓글