← 返回首页
Map : méthode [Symbol.iterator]() - JavaScript | MDN

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Map : méthode [Symbol.iterator]()

Baseline Large disponibilité

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.

Dans cet article

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

js
map[Symbol.iterator]()

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

Spécification
ECMAScript® 2027 Language Specification
# sec-map.prototype-%symbol.iterator%

Compatibilité des navigateurs

Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.

Voir aussi