- Auteur

- Nom
- Nelson Silva
- Social
Introduction
JavaScript ES6 a introduit deux nouveaux types de collections de données : les Sets et les Maps. Les deux offrent des moyens efficaces et flexibles de travailler avec des collections de données. Dans cet article, nous allons explorer les caractéristiques des Sets et des Maps, comprendre leurs différences et leurs applications, et voir des exemples de la façon dont ils peuvent être utilisés.
Que sont les Sets ?
Un Set est une collection de valeurs qui n'autorise pas les doublons. Il est particulièrement utile pour gérer des collections d'éléments uniques.
Caractéristiques des Sets
- Unicité : Chaque élément dans un Set est unique.
- Pas d'indexation : Les Sets ne sont pas indexés comme les tableaux. Il n'est pas possible d'accéder aux éléments par un index.
Création et manipulation des Sets
let monSet = new Set();
// Ajout d'éléments
monSet.add(1);
monSet.add(2);
monSet.add(2); // N'a aucun effet, car 2 est déjà dans le set
// Vérification de la présence d'un élément
console.log(monSet.has(1)); // true
// Taille du Set
console.log(monSet.size); // 2
// Suppression d'éléments
monSet.delete(1);
Itération sur un Set
Les Sets peuvent être itérés à l'aide de for...of ou des méthodes forEach.
for (let element of monSet) {
console.log(element);
}
Que sont les Maps ?
Un Map est une collection de paires clé-valeur. Contrairement aux objets, les clés d'un Map peuvent être de n'importe quel type de donnée.
Caractéristiques des Maps
- Clés flexibles : Les clés peuvent être de n'importe quel type, y compris des fonctions, des objets et tout type primitif.
- Ordre conservé : Contrairement aux objets, l'ordre des éléments est maintenu.
Création et manipulation des Maps
let maMap = new Map();
// Définition des clés et des valeurs
maMap.set('cle1', 'valeur1');
maMap.set('cle2', 'valeur2');
// Accès aux valeurs
console.log(maMap.get('cle1')); // valeur1
// Taille du Map
console.log(maMap.size); // 2
// Suppression d'éléments
maMap.delete('cle1');
Itération sur un Map
Nous pouvons itérer sur les clés, les valeurs ou les deux à l'aide de for...of ou forEach.
for (let [cle, valeur] of maMap) {
console.log(`${cle}: ${valeur}`);
}
Différences entre Sets et Maps
- Utilisation : Les Sets sont utilisés pour des collections de valeurs uniques, tandis que les Maps sont utilisés pour associer des paires clé-valeur.
- Performances : Les Sets et les Maps offrent tous deux des opérations rapides d'insertion et de recherche, surpassant souvent les objets en termes d'efficacité pour de grands ensembles de données.
Bonnes Pratiques et Conseils
- Choisissez la bonne structure : Utilisez les Sets lorsque vous avez besoin d'une collection d'éléments uniques et les Maps pour des associations clé-valeur.
- Faites attention aux clés des Maps : N'oubliez pas que les Maps peuvent avoir des clés de n'importe quel type. Maintenez un contrôle cohérent sur les types de clés pour éviter toute confusion.
- Pensez aux performances : Pour de grandes quantités de données, les Sets et les Maps peuvent être plus efficaces que les objets ou les tableaux.
Conclusion
Les Sets et les Maps sont des ajouts puissants à JavaScript, offrant des moyens efficaces et flexibles de travailler avec des collections de données. Comprendre leurs caractéristiques et leurs différences est essentiel pour choisir la bonne structure de données selon vos besoins et pour mettre en œuvre des solutions efficaces.