Rumah >pembangunan bahagian belakang >Tutorial Python >Adakah terdapat JavaScript yang Setara dengan Fungsi zip Python?

Adakah terdapat JavaScript yang Setara dengan Fungsi zip Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-13 19:43:14336semak imbas

Is There a JavaScript Equivalent to Python's zip Function?

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:

  • Anggap tatasusunan yang tidak sama panjang dan senyap-senyap mengabaikan tatasusunan yang lebih panjang.
  • Sisipkan nilai yang tidak ditentukan untuk unsur yang tiada dalam tatasusunan.
  • Mengendalikan iterable, seperti rentetan dan julat.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn