Diviser un tableau en fonction d'une fonction

Beginner

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

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.

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.