Map : méthode [Symbol.iterator]() - JavaScript | MDN

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.

La méthode [Symbol.iterator]() des instances de Map implémente le protocole itérable et permet aux objets Map d'être utilisés par la plupart des syntaxes s'attendant à des itérables, comme la syntaxe de décomposition et les boucles for...of. Elle retourne un objet itérateur de map qui retourne les paires clé-valeur de la map dans l'ordre d'insertion.

La valeur initiale de cette propriété est le même objet fonction que la valeur initiale de la propriété Map.prototype.entries.

Exemple interactif

const map = new Map();

map.set("0", "toto");
map.set(1, "truc");

const iterator = map[Symbol.iterator]();

for (const item of iterator) {
  console.log(item);
}
// Sortie attendue : Array ["0", "toto"]
// Sortie attendue : Array [1, "truc"]

Syntaxe

Paramètres

Aucun.

Valeur de retour

La même valeur de retour que Map.prototype.entries() : un nouvel objet itérateur itérable qui retourne les paires clé-valeur de la map.

Exemples

Itérer en utilisant for..of

js

const maMap = new Map();
maMap.set("0", "toto");
maMap.set(1, "truc");
maMap.set({}, "bidule");

for (const entree of maMap) {
  console.log(entree);
}
// ["0", "toto"]
// [1, "truc"]
// [{}, "bidule"]

for (const [cle, valeur] of maMap) {
  console.log(`${cle}: ${valeur}`);
}
// 0: toto
// 1: truc
// [Object]: bidule

Itérer manuellement avec l'itérateur

Vous pouvez toujours appeler manuellement la méthode next() de l'objet itérateur retourné pour obtenir un contrôle maximal sur le processus d'itération.

js

const maMap = new Map();
maMap.set("0", "toto");
maMap.set(1, "truc");
maMap.set({}, "bidule");

const mapIter = maMap[Symbol.iterator]();

console.log(mapIter.next().value); // ["0", "toto"]
console.log(mapIter.next().value); // [1, "truc"]
console.log(mapIter.next().value); // [Object, "bidule"]

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-map.prototype-%symbol.iterator%

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par les contributeurs du MDN.