Heim > Web-Frontend > js-Tutorial > Wie kann ich die Zip-Funktion von Python in JavaScript replizieren?

Wie kann ich die Zip-Funktion von Python in JavaScript replizieren?

Mary-Kate Olsen
Freigeben: 2024-12-28 18:58:10
Original
500 Leute haben es durchsucht

How Can I Replicate Python's Zip Function in JavaScript?

Javascript-Äquivalente der Zip-Funktion von Python

Die Zip-Funktion von Python kann mithilfe verschiedener Ansätze in JavaScript repliziert werden. Lassen Sie uns zwei gängige Methoden untersuchen:

1. Array-Zuordnung

Diese Methode geht davon aus, dass die Eingabe-Arrays gleich lang sind und beinhaltet die Zuordnung des ersten Arrays, um Paare mit entsprechenden Elementen aus den anderen Arrays zu erstellen.

function zip(...arrays) {
  return arrays[0].map((_, i) => arrays.map((array) => array[i]));
}
Nach dem Login kopieren

Beispiel:

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]]
Nach dem Login kopieren

2. Array.apply und Array Mapping

Diese Methode verarbeitet sowohl Arrays gleicher als auch ungleicher Länge und gibt für fehlende Werte undefiniert zurück.

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])
  );
}
Nach dem Login kopieren

Beispiel:

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]]
Nach dem Login kopieren

Hinweis: Wenn Sie eine der oben genannten Methoden mit Arrays ungleicher Länge verwenden, denken Sie daran Sie sind nicht ihr eigenes Gegenteil. Um Pythons zip(*[...])-Idiom nachzuahmen, verwenden Sie zip.apply(this, [...]).

Das obige ist der detaillierte Inhalt vonWie kann ich die Zip-Funktion von Python in JavaScript replizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage