Maison >interface Web >js tutoriel >Comment puis-je répliquer la fonction Zip de Python en JavaScript ?
Équivalents Javascript de la fonction Zip de Python
La fonction zip de Python peut être répliquée en JavaScript en utilisant diverses approches. Explorons deux méthodes courantes :
1. Mappage de tableaux
Cette méthode suppose que les tableaux d'entrée sont de longueur égale et implique de mapper le premier tableau pour créer des paires avec les éléments correspondants des autres tableaux.
function zip(...arrays) { return arrays[0].map((_, i) => arrays.map((array) => array[i])); }
Exemple :
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
2. Array.apply et Array Mapping
Cette méthode gère à la fois les tableaux de longueur égale et inégale, renvoyant undéfini pour les valeurs manquantes.
function zip(...arrays) { const longest = arrays.reduce((a, b) => (a.length > b.length ? a : b), []); return Array.apply(null, Array(longest.length)).map((_, i) => arrays.map((array) => array[i]) ); }
Exemple :
const array1 = [1, 2, 3]; const array2 = ['a', 'b']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, undefined, 6]]
Remarque : Si vous utilisez l'une des méthodes ci-dessus avec des tableaux de longueur inégale, gardez à l'esprit que ils ne sont pas leur propre inverse. Pour imiter l'idiome zip(*[...]) de Python, utilisez zip.apply(this, [...]).
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!