Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Meniru Fungsi Zip Python dalam JavaScript?

Bagaimanakah Saya Boleh Meniru Fungsi Zip Python dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-12-28 18:58:10
asal
564 orang telah melayarinya

How Can I Replicate Python's Zip Function in 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]));
}
Salin selepas log masuk

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]]
Salin selepas log masuk

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])
  );
}
Salin selepas log masuk

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]]
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan