Javascript Equivalent of Python's Zip Function
Dalam Python, fungsi zip menggabungkan berbilang leterable menjadi satu leterable tuple, di mana setiap tuple mengandungi elemen yang sepadan daripada iterable input. Adakah terdapat fungsi serupa dalam Javascript?
Pelaksanaan Javascript
Ya, terdapat fungsi zip yang setara dalam Javascript. Ia mengambil tatasusunan tatasusunan sebagai hujahnya dan mengembalikan tatasusunan tatasusunan, di mana setiap tatasusunan dalam mengandungi unsur-unsur yang sepadan daripada tatasusunan input. Contohnya, jika anda mempunyai tiga tatasusunan:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6];
Kod berikut akan mencipta tatasusunan pasangan:
const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
Susun atur output ialah:
[[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
Versi ES6
Dalam ES6, anda boleh menggunakan yang berikut sintaks:
const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
Ciri Tambahan
Fungsi zip Javascript boleh diubah suai untuk meniru gelagat fungsi zip Python dan sambungannya. Sebagai contoh, anda boleh mencipta fungsi yang:
Tambahan: Mengendalikan Iterables
Untuk mengendalikan iterables, anda boleh mentakrifkan fungsi iterView yang menukar iterable kepada array yang setara. Sebagai alternatif, anda boleh menggunakan fungsi berikut:
const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));
Atas ialah kandungan terperinci Adakah terdapat JavaScript yang Setara dengan Fungsi zip Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!