Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Melaksanakan Fungsi Zip Python dalam JavaScript?

Bagaimana untuk Melaksanakan Fungsi Zip Python dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-26 17:33:13225semak imbas

How to Implement Python's Zip Function in JavaScript?

JavaScript Setara dengan Fungsi Zip Python

Fungsi Zip Python biasanya digunakan untuk menggabungkan berbilang tatasusunan yang sama panjang menjadi pasangan, membentuk satu tatasusunan. JavaScript menyediakan fungsi yang serupa melalui pelaksanaan kaedah Array.prototype.map() dan fungsi pembantu. Begini cara anda boleh mencapai ini:

function zip(...arrays) {
  return arrays[0].map((_, i) => arrays.map(arr => arr[i]));
}

Mari kita gambarkan bagaimana fungsi ini berfungsi:

Pertimbangkan tiga tatasusunan yang sama panjang:

const array1 = [1, 2, 3];
const array2 = ['a', 'b', 'c'];
const array3 = [4, 5, 6];

Menggunakan fungsi zip kami:

const result = zip(array1, array2, array3);

Hasilnya adalah seperti berikut:

result = [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]];

Ia secara berkesan menggandingkan elemen yang sepadan daripada setiap tatasusunan ke dalam sub-tatasusunan.

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pelaksanaan JavaScript kami tidak mempunyai fungsi yang sama seperti Fungsi zip Python apabila mengendalikan panjang tatasusunan yang tidak sama rata. Dalam Python, fungsi zip menggabungkan tatasusunan yang tidak sama panjang dan berhenti pada panjang tatasusunan terpendek. Dalam pelaksanaan JavaScript kami, ia akan mengecualikan elemen daripada tatasusunan yang lebih panjang yang melebihi panjang tatasusunan terpendek.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi Zip Python dalam JavaScript?. 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