Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Map.prototype[Symbol.iterator]()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Die[Symbol.iterator]() Methode vonMap Instanzen implementiert dasiterable Protokoll und ermöglicht esMap Objekten, von den meisten Syntaxen verwendet zu werden, die Iterables erwarten, wie z.B. derSpread-Syntax undfor...of Schleifen. Sie gibt einMap-Iterator-Objekt zurück, das die Schlüssel-Wert-Paare der Map in Einfügereihenfolge liefert.
Der Anfangswert dieser Eigenschaft ist dasselbe Funktionsobjekt wie der Anfangswert derMap.prototype.entries Eigenschaft.
In diesem Artikel
Probieren Sie es aus
const map = new Map();map.set("0", "foo");map.set(1, "bar");const iterator = map[Symbol.iterator]();for (const item of iterator) { console.log(item);}// Expected output: Array ["0", "foo"]// Expected output: Array [1, "bar"]Syntax
map[Symbol.iterator]()Parameter
Keine.
Rückgabewert
Der gleiche Rückgabewert wieMap.prototype.entries(): ein neuesiterables Iterator-Objekt, das die Schlüssel-Wert-Paare der Map liefert.
Beispiele
>Iteration mit for...of Schleife
Beachten Sie, dass Sie diese Methode selten direkt aufrufen müssen. Das Vorhandensein der[Symbol.iterator]() Methode machtMap Objekteiterierbar, und iterierende Syntaxen wie diefor...of Schleife rufen diese Methode automatisch auf, um den Iterator zu erhalten, über den sie iterieren können.
const myMap = new Map();myMap.set("0", "foo");myMap.set(1, "bar");myMap.set({}, "baz");for (const entry of myMap) { console.log(entry);}// ["0", "foo"]// [1, "bar"]// [{}, "baz"]for (const [key, value] of myMap) { console.log(`${key}: ${value}`);}// 0: foo// 1: bar// [Object]: bazManuelles Durchlaufen des Iterators
Sie können dennoch manuell dienext() Methode des zurückgegebenen Iterator-Objekts aufrufen, um maximale Kontrolle über den Iterationsprozess zu erreichen.
const myMap = new Map();myMap.set("0", "foo");myMap.set(1, "bar");myMap.set({}, "baz");const mapIter = myMap[Symbol.iterator]();console.log(mapIter.next().value); // ["0", "foo"]console.log(mapIter.next().value); // [1, "bar"]console.log(mapIter.next().value); // [Object, "baz"]Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-map.prototype-%symbol.iterator%> |