Regrouper les éléments d'un tableau en fonction d'une fonction

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer la manière de regrouper les éléments d'un tableau en fonction de leur position et de les combiner à l'aide d'une fonction. Nous utiliserons la fonction zipWith pour y parvenir, qui crée un tableau d'éléments regroupés en fonction de leur position dans les tableaux d'origine. La fonction zipWith peut s'avérer très utile lorsqu'on travaille avec des tableaux de longueurs différentes et nous verrons comment l'utiliser pour gérer de tels scénarios.

JavaScript Function to Group Array Elements

Pour regrouper les éléments dans des tableaux, vous pouvez utiliser la fonction zipWith.

Voici comment elle fonctionne :

  • La fonction prend un nombre illimité de tableaux en arguments.
  • Elle vérifie si le dernier argument est une fonction.
  • Elle utilise Math.max() pour trouver la longueur du plus long tableau.
  • Elle crée un nouveau tableau d'éléments regroupés à l'aide de Array.from() et d'une fonction de mapping.
  • Si les longueurs des tableaux d'arguments varient, undefined est utilisé là où aucune valeur n'a été trouvée.
  • La fonction est appelée avec les éléments de chaque groupe.

Voici un exemple d'utilisation de la fonction zipWith :

zipWith([1, 2], [10, 20], [100, 200], (a, b, c) => a + b + c); // [111, 222]
zipWith(
  [1, 2, 3],
  [10, 20],
  [100, 200],
  (a, b, c) =>
    (a != null ? a : "a") + (b != null ? b : "b") + (c != null ? c : "c")
); // [111, 222, '3bc']

Pour utiliser la fonction zipWith, ouvrez le Terminal/SSH et tapez node.

Summary

Félicitations ! Vous avez terminé le laboratoire Group Array Elements Based on Function. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.