Maison >interface Web >js tutoriel >Travailler avec des cartes et des ensembles en JavaScript : un guide complet
Maps et Sets sont deux structures de données importantes introduites dans ES6 (ECMAScript 2015) qui offrent des fonctionnalités améliorées par rapport aux objets et aux tableaux traditionnels. Les Maps et les Ensembles vous permettent de stocker des valeurs uniques et de travailler avec les données de manière plus organisée et plus efficace.
Une Carte est une collection de paires clé-valeur où les clés et les valeurs peuvent être n'importe quel type de données. Contrairement aux objets, qui ne peuvent avoir que des chaînes ou des symboles comme clés, les Maps permettent d'utiliser n'importe quelle valeur (objets, tableaux, fonctions, etc.) comme clé.
Pour créer une Map, vous pouvez utiliser le constructeur Map :
const map = new Map();
Vous pouvez également initialiser une carte avec un tableau de paires clé-valeur :
const map = new Map([ ['name', 'Alice'], ['age', 25], ['city', 'New York'] ]); console.log(map);
Vous pouvez ajouter des entrées en utilisant la méthode set() :
const map = new Map(); map.set('name', 'John'); map.set('age', 30); map.set('city', 'Los Angeles'); console.log(map);
Vous pouvez accéder à la valeur associée à une clé en utilisant la méthode get() :
const map = new Map([ ['name', 'Alice'], ['age', 25] ]); console.log(map.get('name')); // Output: Alice console.log(map.get('age')); // Output: 25
Pour vérifier si une clé existe, utilisez la méthode has() :
const map = new Map([ ['name', 'John'], ['age', 30] ]); console.log(map.has('name')); // Output: true console.log(map.has('city')); // Output: false
Vous pouvez supprimer une paire clé-valeur à l'aide de la méthode delete() :
map.delete('age'); console.log(map.has('age')); // Output: false
Pour effacer toutes les entrées de la carte :
map.clear(); console.log(map.size); // Output: 0
Vous pouvez parcourir les paires clé-valeur dans une carte en utilisant forEach(), ou for...of loop :
const map = new Map([ ['name', 'Alice'], ['age', 25] ]); // Using forEach map.forEach((value, key) => { console.log(key, value); }); // Using for...of for (const [key, value] of map) { console.log(key, value); }
Un Set est une collection de valeurs uniques, ce qui signifie qu'il supprime automatiquement toutes les valeurs en double. Contrairement aux tableaux, qui peuvent stocker plusieurs éléments identiques, les Ensembles garantissent que chaque valeur de la collection est unique.
Vous pouvez créer un Set à l'aide du constructeur Set :
const set = new Set();
Alternativement, vous pouvez initialiser un Set avec un tableau de valeurs :
const set = new Set([1, 2, 3, 4, 5]); console.log(set);
Vous pouvez ajouter des valeurs à un Set en utilisant la méthode add() :
const set = new Set(); set.add(1); set.add(2); set.add(3); set.add(2); // Duplicate value, won't be added console.log(set); // Output: Set { 1, 2, 3 }
Pour vérifier si une valeur existe dans un Set, utilisez la méthode has() :
console.log(set.has(2)); // Output: true console.log(set.has(4)); // Output: false
Vous pouvez supprimer une valeur d'un Set en utilisant la méthode delete() :
const map = new Map();
Pour effacer toutes les valeurs de l'ensemble :
const map = new Map([ ['name', 'Alice'], ['age', 25], ['city', 'New York'] ]); console.log(map);
Vous pouvez parcourir les valeurs d'un ensemble en utilisant forEach() ou la boucle for...of :
const map = new Map(); map.set('name', 'John'); map.set('age', 30); map.set('city', 'Los Angeles'); console.log(map);
Feature | Map | Set |
---|---|---|
Storage | Stores key-value pairs | Stores unique values only |
Key Types | Any type (objects, arrays, primitive types) | Only values (no keys) |
Uniqueness | Keys must be unique, values can repeat | Values must be unique |
Order of Elements | Iterates in insertion order | Iterates in insertion order |
Size | map.size | set.size |
Methods | set(), get(), has(), delete(), clear() | add(), has(), delete(), clear() |
Taille
Stockage des préférences utilisateur
Maps offrent un stockage efficace des paires clé-valeur avec prise en charge de tout type de données en tant que clés, et elles maintiennent l'ordre d'insertion.
Les
Ensembles
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!