Maison > développement back-end > Tutoriel Python > Existe-t-il un équivalent JavaScript à la fonction zip de Python ?

Existe-t-il un équivalent JavaScript à la fonction zip de Python ?

Mary-Kate Olsen
Libérer: 2024-12-13 19:43:14
original
270 Les gens l'ont consulté

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

Équivalent Javascript de la fonction zip de Python

En Python, la fonction zip combine plusieurs itérables en un seul itérable de tuples, où chaque tuple contient les éléments correspondants des itérables d’entrée. Existe-t-il une fonction similaire disponible en Javascript ?

Implémentation Javascript

Oui, il existe une fonction zip équivalente en Javascript. Il prend un tableau de tableaux comme argument et renvoie un tableau de tableaux, où chaque tableau interne contient les éléments correspondants des tableaux d'entrée. Par exemple, si vous avez trois tableaux :

const array1 = [1, 2, 3];
const array2 = ['a', 'b', 'c'];
const array3 = [4, 5, 6];
Copier après la connexion

Le code suivant créera un tableau de paires :

const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
Copier après la connexion

Le tableau de sortie sera :

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

Version ES6

Dans ES6, vous pouvez utiliser les éléments suivants syntaxe :

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

Fonctionnalités supplémentaires

La fonction zip Javascript peut être modifiée pour imiter le comportement de la fonction zip de Python et de ses extensions. Par exemple, vous pouvez créer des fonctions qui :

  • Supposent des tableaux de longueur inégale et ignorent silencieusement les tableaux plus longs.
  • Insérez des valeurs non définies pour les éléments manquants dans les tableaux.
  • Gérez les itérables, tels que les chaînes et les plages.

Addendum : Gestion des itérables

Pour gérer les itérables, vous pouvez définir une fonction iterView qui convertit un itérable en équivalent tableau. Alternativement, vous pouvez utiliser la fonction suivante :

const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));
Copier après la connexion

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