Chúng ta cần viết hàm tương đương zip() của Python. Cho nhiều mảng cùng độ dài, tạo mảng các cặp phần tử tương ứng.
Ví dụ với ba mảng:
const array1 = [1, 2, 3];const array2 = ['a', 'b', 'c'];const array3 = [4, 5, 6];
Kết quả mong đợi:
const output = [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
Sử dụng lặp forEach() lồng nhau:
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
[ [ 1, 'a', 4 ], [ 2, 'b', 5 ], [ 3, 'c', 6 ] ]