JavaScript offre aux développeurs diverses structures pour la gestion des données. L’une de ces structures est la structure de données “Map”. Une Map est un outil puissant qui facilite le stockage des paires clé-valeur et permet d’effectuer des opérations de manière efficace. Dans cet article, nous allons explorer en détail les Maps de JavaScript et en démontrer l’utilisation avec des exemples de code.
Qu’est-ce qu’une Map en JavaScript ?
Une Map est une structure de données introduite avec ES6, utilisée pour stocker des paires clé-valeur. Une Map peut accepter n’importe quel type de donnée comme clé ou valeur, ce qui la rend plus flexible et utile.
Créer une Map
Pour créer une Map, vous utilisez le constructeur new Map()
. Voici un exemple simple :
javascriptKodu kopyalaconst map = new Map();
Pour créer une Map avec des valeurs initiales, vous pouvez utiliser un tableau contenant des paires clé-valeur :
const map = new Map([
['key1', 'value1'],
['key2', 'value2'],
['key3', 'value3']
]);
Ajouter des éléments à une Map
Vous pouvez ajouter des éléments à une Map en utilisant la méthode set
:
const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
console.log(map); // Map(2) { 'key1' => 'value1', 'key2' => 'value2' }
Récupérer des éléments d’une Map
Pour récupérer des éléments d’une Map, vous utilisez la méthode get
:
console.log(map.get('key1')); // 'value1'
console.log(map.get('key3')); // undefined
Supprimer des éléments d’une Map
Pour supprimer un élément d’une Map, vous utilisez la méthode delete
:
map.delete('key2');
console.log(map); // Map(1) { 'key1' => 'value1' }
Vérifier la taille d’une Map
Pour connaître le nombre d’éléments d’une Map, vous pouvez utiliser la propriété size
:
console.log(map.size); // 1
Supprimer tous les éléments d’une Map
Pour supprimer tous les éléments d’une Map, vous pouvez utiliser la méthode clear
:
map.clear();
console.log(map.size); // 0
Parcourir une Map
Vous pouvez parcourir une Map en utilisant une boucle for...of
ou la méthode forEach
:
const map = new Map([
['key1', 'value1'],
['key2', 'value2'],
['key3', 'value3']
]);
for (let [key, value] of map) {
console.log(`${key}: ${value}`);
}
// Alternativement
map.forEach((value, key) => {
console.log(`${key}: ${value}`);
});
Obtenir les clés et valeurs d’une Map
Pour obtenir uniquement les clés ou uniquement les valeurs d’une Map, vous pouvez utiliser les méthodes keys
et values
:
console.log([...map.keys()]); // ['key1', 'key2', 'key3']
console.log([...map.values()]); // ['value1', 'value2', 'value3']
Obtenir les entrées d’une Map
Pour obtenir toutes les entrées d’une Map, vous pouvez utiliser la méthode entries
. Cette méthode renvoie un itérateur des paires [clé, valeur] :
console.log([...map.entries()]); // [['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3']]
Comparaison entre Map et Object
Il existe certaines différences importantes entre Map et Object :
- Types de clés : Les clés d’un objet peuvent seulement être des chaînes de caractères ou des symboles, tandis que les clés d’une Map peuvent être de n’importe quel type de donnée.
- Performance : La Map peut offrir de meilleures performances pour les grands ensembles de données, car elle est optimisée pour l’ajout et la suppression d’éléments.
- Ordre : La Map préserve l’ordre des éléments, ce qui signifie qu’ils sont renvoyés dans l’ordre où ils ont été ajoutés.
Conclusion
Les Maps de JavaScript offrent une structure de données flexible et puissante pour gérer des paires clé-valeur. La possibilité d’utiliser n’importe quel type de donnée comme clé ou valeur et de préserver l’ordre d’ajout fait de la Map un choix idéal pour de nombreuses applications. Comprendre le fonctionnement des Maps et les utiliser efficacement permet de créer des structures de données plus complexes et plus efficaces en JavaScript.