Back to Basics : Tableau et valeurs uniques
Une première façon de réaliser un filtre de façon naïve est de vérifier chaque valeur, de l'ajouter à une structure de données et de détecter si nous ne l'avons pas ajoutée auparavant.
La façon naive
const nomsD'uneAutreGalaxie = ['Luke', 'Leia', 'Obi-Wan', 'Luke', 'Obi-Wan'];
function naiveWay(noms) {
const unique = {};
noms.forEach((i) => {
if (!unique[i]) {
unique[i] = true;
}
});
return Object.keys(unique);
}
naiveWay(nomsD'uneAutreGalaxie); // ['Luke', 'Leia', 'Obi-Wan']
Une autre façon simple de penser pour obtenir des valeurs uniques à partir d'un tableau est d'utiliser la méthode filter pour filtrer les valeurs répétitives.
La façon filter
const duellistes = ['Yugi', 'Kaiba', 'Yugi', 'Joey', 'Joey'];
const filterWay = (noms) =>
noms.filter((value, index) => noms.indexOf(value) === index);
filterWay(duellistes); // ['Yugi', 'Kaiba', 'Joey'];
Mais avec le nouvel objet Set
natif, nous pouvons faire quelque chose de plus fluide et facile.
This is the way
const thisIsTheWay = [...new Set(['kobe', 'kobe', 'michael', 23, 24, 23])]; // ['kobe', 'michael', 23, 24]
C'est tout, faites-en bon usage !