Introduction
Dans ce laboratoire, nous allons explorer la manière de regrouper les éléments d'un tableau en fonction de leur position dans les tableaux originaux. Nous utiliserons la fonction zip() qui prend plusieurs tableaux en entrée et renvoie un nouveau tableau contenant des sous-tableaux d'éléments provenant de chaque tableau d'entrée, regroupés par position. Cette technique est utile dans le traitement et l'analyse des données et peut être utilisée pour combiner des données provenant de multiples sources dans une seule structure de données pour une analyse ultérieure.
Group Array Elements
Pour regrouper les éléments de tableaux en fonction de leur position dans les tableaux originaux, utilisez la fonction zip ci-dessous.
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - La fonction
ziputiliseMath.max()etFunction.prototype.apply()pour obtenir le tableau le plus long parmi les arguments. - Elle crée un tableau de cette longueur comme valeur de retour et utilise
Array.from()avec une fonction de mapping pour créer un tableau d'éléments regroupés. - Si les longueurs des tableaux d'arguments varient,
undefinedest utilisé là où aucune valeur n'a été trouvée.
const zip = (...arrays) => {
const maxLength = Math.max(...arrays.map((x) => x.length));
return Array.from({ length: maxLength }).map((_, i) => {
return Array.from({ length: arrays.length }, (_, k) => arrays[k][i]);
});
};
Exemple d'utilisation :
zip(["a", "b"], [1, 2], [true, false]); // [['a', 1, true], ['b', 2, false]]
zip(["a"], [1, 2], [true, false]); // [['a', 1, true], [undefined, 2, false]]
Summary
Félicitations! Vous avez terminé le laboratoire Group Array Elements. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.