Partitionnement de tableaux avec JavaScript Reduce

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 utilisant une fonction fournie avec JavaScript. Nous utiliserons la méthode Array.prototype.reduce() pour accumuler les valeurs partitionnées dans un tableau tout en vérifiant les modifications de la sortie de la fonction fournie. À la fin de ce laboratoire, vous aurez une compréhension solide de la manière de partitionner 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/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/data_types -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/arith_ops -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/comp_ops -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/cond_stmts -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/higher_funcs -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} javascript/destr_assign -.-> lab-28541{{"Partitionnement de tableaux avec JavaScript Reduce"}} end

Algorithme de partitionnement de tableau

Pour partitionner un tableau, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Appliquez la fonction fn fournie à chaque valeur du tableau arr donné.
  3. Divisez le tableau chaque fois que fn renvoie une nouvelle valeur.
  4. Utilisez Array.prototype.reduce() pour créer un objet accumulateur qui contient le tableau résultant et la dernière valeur renvoyée par fn.
  5. Utilisez Array.prototype.push() pour ajouter chaque valeur de arr à la partition appropriée dans le tableau accumulateur.
  6. Retournez le tableau résultant.

Voici la mise en œuvre du code :

const partitionBy = (arr, fn) =>
  arr.reduce(
    ({ res, last }, v, i, a) => {
      const next = fn(v, i, a);
      if (next !== last) res.push([v]);
      else res[res.length - 1].push(v);
      return { res, last: next };
    },
    { res: [] }
  ).res;

Utilisation de l'exemple :

const numbers = [1, 1, 3, 3, 4, 5, 5, 5];
partitionBy(numbers, (n) => n % 2 === 0); // [[1, 1, 3, 3], [4], [5, 5, 5]]
partitionBy(numbers, (n) => n); // [[1, 1], [3, 3], [4], [5, 5, 5]]

Sommaire

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