Javascript-Äquivalent der Zip-Funktion von Python
In Python kombiniert die Zip-Funktion mehrere Iterables zu einem einzigen Iterable von Tupeln, wobei jedes Tupel enthält die entsprechenden Elemente aus den Eingabe-Iterables. Gibt es eine ähnliche Funktion in Javascript?
Javascript-Implementierung
Ja, es gibt eine entsprechende Zip-Funktion in Javascript. Es verwendet ein Array von Arrays als Argument und gibt ein Array von Arrays zurück, wobei jedes innere Array die entsprechenden Elemente aus den Eingabearrays enthält. Wenn Sie beispielsweise drei Arrays haben:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6];
Der folgende Code erstellt ein Array von Paaren:
const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
Das Ausgabearray lautet:
[[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
ES6-Version
In ES6 können Sie Folgendes verwenden Syntax:
const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
Zusätzliche Funktionen
Die JavaScript-Zip-Funktion kann geändert werden, um das Verhalten der Zip-Funktion von Python und ihrer Erweiterungen nachzuahmen. Sie können beispielsweise Funktionen erstellen, die:
Nachtrag: Umgang mit Iterables
Um Iterables zu verarbeiten, können Sie eine iterView-Funktion definieren, die ein Iterable in ein Array-Äquivalent konvertiert. Alternativ können Sie die folgende Funktion nutzen:
const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));
Das obige ist der detaillierte Inhalt vonGibt es ein JavaScript-Äquivalent zur Zip-Funktion von Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!