Maison > développement back-end > Tutoriel Python > Comment puis-je répliquer la fonction « zip » de Python en JavaScript ?

Comment puis-je répliquer la fonction « zip » de Python en JavaScript ?

Barbara Streisand
Libérer: 2024-12-17 10:19:25
original
732 Les gens l'ont consulté

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

Équivalence JavaScript avec la fonction 'zip' de Python

En Python, la fonction 'zip' combine des éléments de plusieurs listes en tuples, en conservant l'ordre de leurs positions dans le listes.

Par exemple, étant donné trois listes de longueurs égales :

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [4, 5, 6]
Copier après la connexion

Les La fonction 'zip' renvoie la liste de tuples suivante :

[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]
Copier après la connexion

Équivalent JavaScript :

JavaScript n'a pas de fonction 'zip' intégrée. Cependant, il existe plusieurs façons d'émuler sa fonctionnalité :

En utilisant la fonction 'map' (ES5) :

function zip(arrays) {
    return arrays[0].map(function(_, i) {
        return arrays.map(function(array) { return array[i] })
    });
}
Copier après la connexion

Vous pouvez également utiliser la fonction spread opérateur (ES6) :

const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
Copier après la connexion

La sortie de cette fonction sera un tableau de tableaux, chacun représentant un tuple de valeurs des listes d'entrée.

Remarque :

  • Les versions JavaScript supposent que les listes d'entrée sont de longueurs égales.
  • Utilisation la fonction 'map' inverse l'ordre des éléments dans les tuples par rapport à la fonction 'zip' de Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal