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
Barbara Streisandoriginal
2024-12-17 10:19:25816parcourir

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]

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

[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]

É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] })
    });
}

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

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

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!

Déclaration:
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