Partitionner un tableau en deux

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 comment partitionner un tableau en deux tableaux séparés en fonction de la vérité d'une fonction fournie pour chaque élément en utilisant JavaScript. Nous utiliserons la méthode Array.prototype.reduce() pour créer deux tableaux et la méthode Array.prototype.push() pour ajouter des éléments au tableau approprié en fonction de la vérité de la fonction fournie. À la fin de ce laboratoire, vous aurez une bonne compréhension de la manière de partitionner un tableau en JavaScript et serez en mesure d'appliquer ces connaissances dans vos futurs projets.

Comment partitionner un tableau en deux en fonction d'une fonction

Pour partitionner un tableau en deux en fonction d'une fonction fournie, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez Array.prototype.reduce() pour créer un tableau de deux tableaux.
  3. Utilisez Array.prototype.push() pour ajouter les éléments pour lesquels fn renvoie true au premier tableau et les éléments pour lesquels fn renvoie false au second.

Voici le code que vous pouvez utiliser :

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

Pour tester ce code, vous pouvez utiliser l'exemple suivant :

const users = [
  { user: "barney", age: 36, active: false },
  { user: "fred", age: 40, active: true }
];
partition(users, (o) => o.active);
// [
//   [{ user: 'fred', age: 40, active: true }],
//   [{ user: 'barney', age: 36, active: false }]
// ]

Cela renverra un tableau de deux tableaux, où le premier tableau contient tous les éléments pour lesquels la fonction fournie renvoie true, et le second tableau contient tous les éléments pour lesquels la fonction fournie renvoie false.

Sommaire

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