Intersection d'ensembles mappés

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 le concept d'intersection d'ensembles en JavaScript. Plus précisément, nous allons implémenter une fonction qui renvoie les éléments communs entre deux tableaux, après avoir appliqué une fonction fournie à chaque élément des deux tableaux. Ce laboratoire vous aidera à comprendre comment utiliser les fonctions de premier ordre en JavaScript pour manipuler les tableaux et résoudre des problèmes de programmation courants.


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") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28485{{"Intersection d'ensembles mappés"}} javascript/data_types -.-> lab-28485{{"Intersection d'ensembles mappés"}} javascript/arith_ops -.-> lab-28485{{"Intersection d'ensembles mappés"}} javascript/comp_ops -.-> lab-28485{{"Intersection d'ensembles mappés"}} javascript/higher_funcs -.-> lab-28485{{"Intersection d'ensembles mappés"}} javascript/spread_rest -.-> lab-28485{{"Intersection d'ensembles mappés"}} end

Instructions for Finding Mapped Array Intersection

Pour trouver les éléments communs entre deux tableaux après avoir appliqué une fonction à chaque élément des deux tableaux, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node.
  2. Utilisez le code fourni ci-dessous :
const intersectionBy = (a, b, fn) => {
  const s = new Set(b.map(fn));
  return [...new Set(a)].filter((x) => s.has(fn(x)));
};
  1. Dans le code, remplacez a et b par vos tableaux et fn par la fonction que vous voulez appliquer à chaque élément.
  2. Exécutez le code pour obtenir le tableau résultant avec les éléments communs.

Exemple :

intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [2.1]
intersectionBy(
  [{ title: "Apple" }, { title: "Orange" }],
  [{ title: "Orange" }, { title: "Melon" }],
  (x) => x.title
); // [{ title: 'Orange' }]

Dans le premier exemple, la fonction Math.floor est appliquée aux tableaux [2.1, 1.2] et [2.3, 3.4], renvoyant l'élément commun [2.1].
Dans le second exemple, la fonction x => x.title est appliquée aux tableaux [{ title: 'Apple' }, { title: 'Orange' }] et [{ title: 'Orange' }, { title: 'Melon' }], renvoyant l'élément commun [{ title: 'Orange' }].

Summary

Félicitations! Vous avez terminé le laboratoire sur l'intersection de tableaux mappés. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.