Filtrer les correspondances et les valeurs non spécifiées

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 programmation JavaScript et apprendre à utiliser ensemble les méthodes Array.prototype.reduce(), Array.prototype.filter() et Array.prototype.map() pour créer une fonction qui filtre un tableau d'objets selon une condition et élimine également les clés non spécifiées. Ce laboratoire nous aidera à mieux comprendre la programmation fonctionnelle en JavaScript et à manipuler efficacement des tableaux d'objets de manière concise.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} javascript/data_types -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} javascript/arith_ops -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} javascript/comp_ops -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} javascript/array_methods -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} javascript/higher_funcs -.-> lab-28296{{"Filtrer les correspondances et les valeurs non spécifiées"}} end

Filtrer des objets selon une condition et des clés

Pour filtrer un tableau d'objets selon une condition tout en éliminant également les clés non spécifiées, utilisez la fonction reducedFilter().

Voici les étapes à suivre :

  1. Utilisez Array.prototype.filter() pour filtrer le tableau selon le prédicat fn de sorte qu'il renvoie les objets pour lesquels la condition a retourné une valeur vraie.

  2. Utilisez Array.prototype.map() sur le tableau filtré pour renvoyer le nouvel objet.

  3. Utilisez Array.prototype.reduce() pour éliminer les clés qui n'ont pas été fournies en tant qu'argument keys.

const reducedFilter = (data, keys, fn) =>
  data.filter(fn).map((el) =>
    keys.reduce((acc, key) => {
      acc[key] = el[key];
      return acc;
    }, {})
  );

Voici un exemple d'utilisation de la fonction reducedFilter() :

const data = [
  {
    id: 1,
    name: "john",
    age: 24
  },
  {
    id: 2,
    name: "mike",
    age: 50
  }
];

reducedFilter(data, ["id", "name"], (item) => item.age > 24);
// Sortie : [{ id: 2, name:'mike'}]

Pour commencer à pratiquer la programmation, ouvrez le Terminal/SSH et tapez node.

Résumé

Félicitations ! Vous avez terminé le laboratoire sur le filtrage des correspondances et des valeurs non spécifiées. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.