Bonjour, cher hĂ©ros du code ! đŠžââïžđŠžââïž
Aujourdâhui, je vais te rĂ©vĂ©ler le super-pouvoir cachĂ© de JavaScript : lâobjet Set. Il peut ressembler Ă un Array, mais câest un champion pour les Ă©lĂ©ments uniques uniquement ! đ
Dans cet article, tu trouveras des informations de base, des astuces pratiques et des exemples crĂ©atifs. Allons-y ! đ
1ïžâŁ Quâest-ce quâun Set ? (Et pourquoi tu ne devrais pas tomber amoureux đ)
Imagine que tu as une collection, mais tu veux une seule fois chaque élément.
Câest exactement ce que fait un Set. Il ressemble Ă un Array mais ne stocke pas les doublons.
const fruits = new Set();
fruits.add("pomme");
fruits.add("poire");
fruits.add("pomme"); // đ Ceci ne sera pas ajoutĂ©, les Sets nâaiment pas les doublons
console.log(fruits); // Set(2) { 'pomme', 'poire' }
Explication :
new Set()crĂ©e un Set vide.add()ajoute des valeurs au Set.- Les Sets nâautorisent jamais les doublons, donc la deuxiĂšme “pomme” nâest pas ajoutĂ©e.
đĄ Astuce : Si tu veux supprimer les doublons, tu peux convertir un Array en Set puis revenir Ă un Array. Un mini super-pouvoir en JS đ.
2ïžâŁ MĂ©thodes de Base des Sets : Les Super-Armes du Set đĄïž
Voici les principales méthodes pour gérer un Set :
1. add(value) â La Magie de lâAjout âš
const fruits = new Set();
fruits.add("pomme");
fruits.add("poire");
fruits.add("banane");
console.log(fruits); // Set(3) { 'pomme', 'poire', 'banane' }
Explication :
add()ajoute une valeur au Set.- Si la valeur existe dĂ©jĂ , le Set lâignore.
- Pense au Set comme un ami fidĂšle : âPas de doublons autorisĂ©s !â đ
đĄ Astuce : Pour nettoyer une liste soumise par un utilisateur, new Set(liste) supprime instantanĂ©ment les doublons.
2. delete(value) â Allez, dehors ! â
fruits.delete("poire");
console.log(fruits); // Set(2) { 'pomme', 'banane' }
Explication :
delete()supprime la valeur spĂ©cifiĂ©e du Set.- Si la valeur nâest pas dans le Set, rien ne se passe.
đĄ Astuce : delete() retourne un boolĂ©en. Tu peux vĂ©rifier si la suppression a rĂ©ussi :
console.log(fruits.delete("pomme")); // true
console.log(fruits.delete("poire")); // false
3. has(value) â Mode DĂ©tective đ”ïž
console.log(fruits.has("pomme")); // true
console.log(fruits.has("poire")); // false
Explication :
has()vĂ©rifie si une valeur existe dans le Set.- Comme un agent secret : âCette valeur est-elle ici ?â đ
đĄ Astuce : Combine has() + add() pour empĂȘcher les utilisateurs dâajouter des doublons :
const amis = new Set();
function ajouterAmi(nom) {
if (!amis.has(nom)) {
amis.add(nom);
console.log(`${nom} ajoutĂ© ! đ`);
} else {
console.log(`${nom} existe dĂ©jĂ , pas de doublons ! đ`);
}
}
ajouterAmi("Ahmet");
ajouterAmi("Ahmet");
4. clear() â Le Bouton Reset đ„
fruits.clear();
console.log(fruits); // Set(0) {}
Explication :
clear()vide complĂštement le Set.- Toutes les valeurs disparaissent, comme de vieux souvenirs đ
5. size â La Taille du Set đ
const nombres = new Set([1,2,3,3,4]);
console.log(nombres.size); // 4
Explication :
sizeindique le nombre dâĂ©lĂ©ments dans le Set.- Comme
lengthpour un Array.
đĄ Astuce : Utilise size pour limiter rapidement les doublons. Par exemple, empĂȘcher plus de 5 ajouts.
3ïžâŁ Utiliser les Sets plus Intelligemment : Astuces Magiques âš
Array â Set : Supprimer les doublons !
const nums = [1,2,2,3,3,3];
const uniqueNums = new Set(nums);
console.log(uniqueNums); // Set(3) { 1, 2, 3 }
Explication :
- Les doublons dans lâArray sont automatiquement supprimĂ©s.
đĄ Astuce : Si ta base de donnĂ©es renvoie des listes dĂ©sordonnĂ©es, les Sets peuvent sauver la situation !
Set â Array : Rester Flexible !
const uniqueArray = [...uniqueNums];
console.log(uniqueArray); // [1, 2, 3]
Explication :
- Utilise lâopĂ©rateur spread (
...) pour convertir un Set en Array. - Cela te permet de continuer Ă utiliser les mĂ©thodes dâArray.
4ïžâŁ Mini-Jeu : Liste dâAmis đ„ł
Imagine une application oĂč les utilisateurs ajoutent des amis, mais tu ne veux pas de doublons.
Le Set est ton héros ici :
const amis = new Set();
amis.add("Ahmet");
amis.add("AyĆe");
amis.add("Ahmet"); // doublons ignorés
for (let ami of amis) {
console.log(ami); // Ahmet, AyĆe
}
đ Le Set est fidĂšle : pas de doublons đ
5ïžâŁ Bonus : Boucles et Astuces pour les Sets đ
Parcourir un Set est facile :
amis.forEach(ami => console.log(`Ami : ${ami}`));
Explication :
- Utilise
forEachoufor...ofpour itĂ©rer sur les Ă©lĂ©ments dâun Set. - Contrairement aux Maps, les Sets ne stockent que des valeurs, pas de paires clĂ©-valeur.
đĄ Astuce : Tu peux aussi faire des âmaths de setsâ comme intersections et diffĂ©rences :
const setA = new Set([1,2,3,4]);
const setB = new Set([3,4,5,6]);
// Intersection
const intersection = new Set([...setA].filter(x => setB.has(x)));
console.log(intersection); // Set(2) {3, 4}
// Différence
const difference = new Set([...setA].filter(x => !setB.has(x)));
console.log(difference); // Set(2) {1, 2}
đ RĂ©sumĂ©
- Set = Collection sans doublons đ
- add() = Ajouter un élément
- delete() = Supprimer un élément
- has() = VĂ©rifier lâexistence
- clear() = Tout supprimer
- size = Nombre dâĂ©lĂ©ments
đĄ Astuces Bonus :
- Array â Set = supprimer les doublons
- Set â Array = utiliser les mĂ©thodes dâArray
- Intersection & Différence = faire des maths de sets

