💎 JavaScript Sets : Des collections pour des valeurs uniques

💎 JavaScript Sets : Des collections pour des valeurs uniques

(Pas de répétition, pas de drama 😌)

Bonjour, bel·le humain·e 💖
Aujourd’hui, nous rencontrons une structure de données d’élite dans l’univers JavaScript,
celle qui dit poliment mais fermement :
« S’il te plaît, pas de doublons » : Set.

Set, c’est le JavaScript qui :

  • dit « J’aime la simplicité »
  • garde la porte avec un « Les doublons ? Très peu pour moi »
  • reste discret, mais redoutablement puissant

🤯 Si ça te parle…

Si tu as déjà :

  • pensé « Je suis sûr que cet élément était déjà dans ce tableau… » 🤔
  • fait des allers-retours sans fin entre filter, indexOf et includes
  • dit « J’ai des cheveux blancs à cause des valeurs en double » 👵🏻

👉 Bienvenue. Set est fait pour toi.


🧺 Qu’est-ce qu’un Set ? (La version la plus simple)

Un Set est une collection en JavaScript qui stocke des valeurs uniques.

La règle est très claire :

« Deux fois la même valeur ? Absolument pas. »

const mySet = new Set();

C’est tout.

  • Pas de key
  • Pas de confusion avec des value
  • Pas de drama JSON

Juste des valeurs et de l’élégance


🚫 Des valeurs en double ? Set dit : « Refusé. »

Voyons la personnalité de Set en action :

const numbers = new Set([1, 2, 2, 3, 3, 3]);

console.log(numbers);
// Set(3) {1, 2, 3}

Que s’est-il passé ?

  • 2 essaie d’entrer une deuxième fois → recalé à l’entrée
  • 3 arrive pour la troisième fois → bloqué immédiatement

Comparons :

  • Array : « Je prends tout, c’est ton problème. »
  • Set : « Les doublons restent dehors. » 🚷

💡 Astuce pratique :
Si un tableau contient des doublons et que tu veux le nettoyer en une seule ligne, Set est ton meilleur allié.


➕ Ajouter des éléments à un Set (Poli mais ferme)

const fruits = new Set();

fruits.add("🍎");
fruits.add("🍌");
fruits.add("🍎");

console.log(fruits);
// Set(2) {"🍎", "🍌"}

Que s’est-il passé ?

  • 🍎 première fois → bienvenue
  • 🍌 arrive → entre donc
  • 🍎 revient → « On s’est déjà rencontrés. »

Set n’est pas impoli, mais il est décisif 😌

💡 Astuce pratique :
La méthode add() est chaînable :

fruits.add("🍓").add("🍍");


❓ Ça existe ou pas ? (Le contrôle le plus rapide)

fruits.has("🍌"); // true
fruits.has("🍓"); // false

La beauté du truc :

  • Pas de includes
  • Pas de indexOf
  • Pas de souci de performance

Juste :

has → est-ce que ça existe ?

Propre. Confiant. 💅

💡 Quand est-ce utile ?

  • Vérifications de permissions
  • Listes de favoris
  • Savoir si quelque chose a déjà été traité

🗑️ Supprimer des éléments & faire le ménage

fruits.delete("🍌");

Pour les séparations une par une.

fruits.clear();

Adieu collectif.
La maison est propre, le Set est impeccable 🧹

💡 Astuce pratique :
delete() retourne true ou false :

fruits.delete("🍎"); // true
fruits.delete("🍉"); // false


📏 La taille d’un Set (Attention ici !)

fruits.size;

Pas de length
Parce que Set dit :

« Je ne suis pas un tableau, chéri·e. »

💡 Alerte entretien 🚨
Si tu écris mySet.length, tu obtiendras undefined.
Cette petite erreur piège beaucoup de monde 👀


🔄 Parcourir un Set (Calme et sérénité)

for (const fruit of fruits) {
  console.log(fruit);
}

Ou bien :

fruits.forEach(fruit => console.log(fruit));

Set est :

  • Ordonné (selon l’ordre d’insertion)
  • Silencieux
  • Sans drama

🧘‍♀️ Mode zen : ACTIVÉ.


🔁 Conversion Array ↔ Set (La partie légendaire)

Supprimer les doublons d’un tableau :

const numbers = [1, 1, 2, 3, 3, 4];

const uniqueNumbers = [...new Set(numbers)];

console.log(uniqueNumbers);
// [1, 2, 3, 4]

Cette seule ligne :

  • Sauve des entretiens
  • Nettoie des bugs
  • Fait dire « Comment tu as fait ça ? » 😌

💡 Astuce en or :
Pour convertir un Set en tableau :

Array.from(new Set(numbers));


🎯 Quand utiliser un Set ?

✔️ Si tu ne veux pas de doublons
✔️ Si tu as besoin de vérifications rapides « existe ou pas ? »
✔️ Si tu veux nettoyer un tableau
✔️ Si tu veux un code plus lisible et plus propre

Set est là…
Il t’attend tranquillement 🖤


💌 Mot de la fin

Set est la structure de données JavaScript qui :

  • Déteste le drama
  • Aime la simplicité
  • Vit selon la règle : « Moins, mais mieux »

Si ton code se répète…
Peut-être que, comme dans la vie…
👉 Tu as besoin d’un Set 😏

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir