Diviser 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 diviser un tableau en fonction d'une fonction de filtrage donnée en JavaScript. Nous utiliserons la méthode Array.prototype.reduce() et la méthode Array.prototype.push() pour séparer les valeurs du tableau en deux groupes en fonction de la valeur booléenne renvoyée par la fonction de filtrage. Ce laboratoire est conçu pour améliorer votre compréhension des fonctions de haut niveau et de la manipulation des tableaux en JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28170{{"Diviser un tableau en fonction d'une fonction"}} javascript/data_types -.-> lab-28170{{"Diviser un tableau en fonction d'une fonction"}} javascript/comp_ops -.-> lab-28170{{"Diviser un tableau en fonction d'une fonction"}} javascript/higher_funcs -.-> lab-28170{{"Diviser un tableau en fonction d'une fonction"}} end

Fonction pour diviser un tableau en deux groupes

Pour diviser un tableau en deux groupes en fonction du résultat d'une fonction donnée, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez les méthodes Array.prototype.reduce() et Array.prototype.push() pour ajouter des éléments aux groupes. Cela est basé sur la valeur renvoyée par la fonction donnée fn pour chaque élément.
  3. Si fn renvoie une valeur véridique pour un élément quelconque, ajoutez-le au premier groupe. Sinon, ajoutez-le au second groupe.

Voici le code :

const bifurcateBy = (arr, fn) =>
  arr.reduce(
    (acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc),
    [[], []]
  );

Par exemple, si vous appelez bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b'), la fonction renverra [ ['beep', 'boop', 'bar'], ['foo'] ].

Sommaire

Félicitations ! Vous avez terminé le laboratoire Diviser un tableau en fonction d'une fonction. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.