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 :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Utilisez les méthodes
Array.prototype.reduce()etArray.prototype.push()pour ajouter des éléments aux groupes. Cela est basé sur la valeur renvoyée par la fonction donnéefnpour chaque élément. - Si
fnrenvoie 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.