É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];
Le code suivant créera un tableau de paires :
const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
Le tableau de sortie sera :
[[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
Version ES6
Dans ES6, vous pouvez utiliser les éléments suivants syntaxe :
const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
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 :
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]));
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!