Différence d'ensembles basée sur une fonction

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 filtrer des valeurs à partir d'un tableau en fonction d'une fonction de comparaison donnée. Nous utiliserons les méthodes Array.prototype.filter() et Array.prototype.findIndex() pour y arriver. De plus, nous apprendrons à utiliser le comparateur d'égalité stricte par défaut si aucune fonction de comparaison n'est fournie.


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/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28323{{"Différence d'ensembles basée sur une fonction"}} javascript/data_types -.-> lab-28323{{"Différence d'ensembles basée sur une fonction"}} javascript/arith_ops -.-> lab-28323{{"Différence d'ensembles basée sur une fonction"}} javascript/comp_ops -.-> lab-28323{{"Différence d'ensembles basée sur une fonction"}} javascript/higher_funcs -.-> lab-28323{{"Différence d'ensembles basée sur une fonction"}} end

Comment filtrer des valeurs à partir d'un tableau en fonction d'une fonction

Pour filtrer toutes les valeurs d'un tableau en fonction d'une fonction de comparaison donnée, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer la programmation.
  2. Utilisez Array.prototype.filter() et Array.prototype.findIndex() pour trouver les valeurs appropriées.
  3. Omettez le dernier argument, comp, pour utiliser un comparateur d'égalité stricte par défaut.
  4. Utilisez le code suivant :
const differenceWith = (arr, val, comp = (a, b) => a === b) =>
  arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1);
  1. Testez votre fonction avec les exemples suivants :
differenceWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0],
  (a, b) => Math.round(a) === Math.round(b)
); // Sortie attendue : [1, 1.2]

differenceWith([1, 1.2, 1.3], [1, 1.3, 1.5]); // Sortie attendue : [1.2]

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur la différence d'ensembles basée sur une fonction. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.