Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die „zip'-Funktion von Python in JavaScript replizieren?

Wie kann ich die „zip'-Funktion von Python in JavaScript replizieren?

Barbara Streisand
Freigeben: 2024-12-17 10:19:25
Original
734 Leute haben es durchsucht

How Can I Replicate Python's `zip` Function in JavaScript?

JavaScript-Äquivalenz zur Python-Funktion „zip“

In Python kombiniert die Funktion „zip“ Elemente aus mehreren Listen zu Tupeln und behält dabei die Reihenfolge ihrer Positionen innerhalb bei Listen.

Beispielsweise bei drei gleich langen Listen:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [4, 5, 6]
Nach dem Login kopieren

Die „zip“-Funktion gibt die folgende Liste von Tupeln zurück:

[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]
Nach dem Login kopieren

JavaScript-Äquivalent:

JavaScript verfügt nicht über eine integrierte „Zip“-Funktion. Es gibt jedoch mehrere Möglichkeiten, seine Funktionalität zu emulieren:

Verwendung der „map“-Funktion (ES5):

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

Alternativ mithilfe des Spreads Operator (ES6):

const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
Nach dem Login kopieren

Die Ausgabe dieser Funktion ist ein Array von Arrays, die jeweils a darstellen Tupel von Werten aus den Eingabelisten.

Hinweis:

  • Die JavaScript-Versionen gehen davon aus, dass die Eingabelisten gleich lang sind.
  • Verwenden Die „map“-Funktion kehrt die Reihenfolge der Elemente in den Tupeln im Vergleich zur „zip“-Funktion von Python um.

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