Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Meniru Fungsi Zip Python dalam JavaScript?
Javascript Equivalents of Python's Zip Function
Fungsi zip Python boleh direplikasi dalam JavaScript menggunakan pelbagai pendekatan. Mari terokai dua kaedah biasa:
1. Pemetaan Tatasusunan
Kaedah ini menganggap tatasusunan input adalah sama panjang dan melibatkan pemetaan tatasusunan pertama untuk mencipta pasangan dengan elemen yang sepadan daripada tatasusunan lain.
function zip(...arrays) { return arrays[0].map((_, i) => arrays.map((array) => array[i])); }
Contoh:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
2. Array.apply dan Array Mapping
Kaedah ini mengendalikan kedua-dua tatasusunan yang sama dan tidak sama panjang, mengembalikan tidak ditentukan untuk nilai yang tiada.
function zip(...arrays) { const longest = arrays.reduce((a, b) => (a.length > b.length ? a : b), []); return Array.apply(null, Array(longest.length)).map((_, i) => arrays.map((array) => array[i]) ); }
Contoh:
const array1 = [1, 2, 3]; const array2 = ['a', 'b']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, undefined, 6]]
Nota: Jika anda menggunakan mana-mana kaedah di atas dengan tatasusunan panjang yang tidak sama, perlu diingat bahawa ia bukan songsang mereka sendiri. Untuk meniru simpulan bahasa Python(*[...]), gunakan zip.apply(ini, [...]).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meniru Fungsi Zip Python dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!