Heim >Backend-Entwicklung >Python-Tutorial >Gibt es ein JavaScript-Äquivalent zur Zip-Funktion von Python?

Gibt es ein JavaScript-Äquivalent zur Zip-Funktion von Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 19:43:14337Durchsuche

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

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:

  • Arrays ungleicher Länge annehmen und längere Arrays stillschweigend ignorieren.
  • Undefinierte Werte für fehlende Elemente in Arrays einfügen.
  • Behandeln Sie Iterables wie Strings und Bereiche.

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!

Stellungnahme:
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