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é.
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 :
- Ouvrez le Terminal/SSH et tapez
node. - Utilisez une boucle
for...ofsur unSetcréé à partir des valeurs des deux tableaux. - Utilisez
Array.prototype.filter()pour comparer le nombre d'occurrences de chaque valeur distincte dans les deux tableaux. - Retournez
falsesi les comptes ne correspondent pas pour un élément quelconque,truesinon.
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.