Back to Basics : Tableau et valeurs uniques

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 !