Les Maps

Une Map est une structure de données JavaScript qui permet d’associer une clé à une valeur.

Une Map fonctionne avec un système :

clé → valeur

Les Maps sont très utiles pour gérer :

1. Créer une Map

Une Map se crée avec :

new Map()
const cart = new Map();

Ici, JavaScript crée une nouvelle Map vide.

2. Ajouter une valeur avec set()

La méthode set() ajoute une clé et une valeur.

const cart = new Map();

cart.set("apple", 3);

Ici :

3. Lire une valeur avec get()

La méthode get() retourne la valeur associée à une clé.

console.log(cart.get("apple"));

Map get()

> 3

4. Vérifier une clé avec has()

La méthode has() vérifie si une clé existe.

console.log(cart.has("apple"));

Map has()

> true

5. Supprimer une valeur avec delete()

La méthode delete() supprime une clé.

cart.delete("apple");

Après cette opération, la clé n’existe plus dans la Map.

6. Vider une Map avec clear()

La méthode clear() supprime tout le contenu.

cart.clear();

La Map devient vide.

7. La propriété size

La propriété size retourne le nombre d’éléments dans une Map.

cart.set("apple", 3);

cart.set("banana", 2);

console.log(cart.size);

Map size

> 2

8. Parcourir une Map avec for...of

Une Map peut être parcourue avec :

for...of
for (const [item, quantity] of cart) {

    console.log(item);

    console.log(quantity);

}

Ici :

9. entries()

La méthode entries() retourne les paires clé → valeur.

for (const [key, value] of cart.entries()) {

    console.log(key);

    console.log(value);

}

Une Map utilise automatiquement entries() lorsqu’on utilise for...of.

10. keys()

La méthode keys() retourne seulement les clés.

for (const key of cart.keys()) {

    console.log(key);

}

11. values()

La méthode values() retourne seulement les valeurs.

for (const value of cart.values()) {

    console.log(value);

}

12. forEach()

Une Map possède aussi la méthode :

forEach()
cart.forEach((quantity, item) => {

    console.log(item);

    console.log(quantity);

});

Attention : dans une Map, la valeur arrive avant la clé.

13. Map vs Object

Object Map
Structure fixe Données dynamiques
Utilise des propriétés Utilise des clés
Moins pratique pour itérer Très pratique pour itérer
Utilisé pour décrire une entité Utilisé pour associer des données

14. Exemple concret : panier

const cart = new Map();

cart.set("apple", 2);

cart.set("banana", 1);

for (const [item, quantity] of cart) {

    console.log(`${quantity} ${item}`);

}

Panier

> 2 apple

> 1 banana

15. Pourquoi utiliser une Map

16. Erreur fréquente

Une Map ne fonctionne pas comme un objet.

cart.apple = 3;

Bonne pratique : utiliser :

cart.set("apple", 3);

17. Bonnes pratiques

Résumé rapide

Concept Utilité
new Map() Créer une Map
set() Ajouter une valeur
get() Lire une valeur
has() Vérifier une clé
delete() Supprimer une clé
clear() Vider une Map
size Nombre d’éléments
for...of Parcourir une Map
keys() Retourner les clés
values() Retourner les valeurs