Vérifier si deux tableaux ont le même contenu

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 manière de vérifier si deux tableaux ont le même contenu en JavaScript. Nous allons créer une fonction qui prend deux tableaux en entrée et renvoie true s'ils contiennent les mêmes éléments, quelle que soit l'ordre, et false dans le cas contraire. Nous allons utiliser une combinaison de Set, de boucle for...of et de Array.prototype.filter() pour obtenir cette fonctionnalité.


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/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/data_types -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/arith_ops -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/comp_ops -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/cond_stmts -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/loops -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/higher_funcs -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} javascript/spread_rest -.-> lab-28164{{"Vérifier si deux tableaux ont le même contenu"}} end

Vérification du même contenu dans les tableaux

Pour vérifier si deux tableaux contiennent les mêmes éléments, quelle que soit l'ordre, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node.
  2. Utilisez une boucle for...of sur un Set créé à partir des valeurs des deux tableaux.
  3. Utilisez Array.prototype.filter() pour comparer le nombre d'occurrences de chaque valeur distincte dans les deux tableaux.
  4. Retournez false si les comptes ne correspondent pas pour un élément quelconque, true sinon.

Voici le code correspondant :

const haveSameContents = (a, b) => {
  for (const v of new Set([...a, ...b]))
    if (a.filter((e) => e === v).length !== b.filter((e) => e === v).length)
      return false;
  return true;
};

Pour tester la fonction, utilisez le code suivant :

haveSameContents([1, 2, 4], [2, 4, 1]); // true

Sommaire

Félicitations ! Vous avez terminé le laboratoire Vérifier si deux tableaux ont le même contenu. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.