Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Objetos globales
  5. Map
  6. Map.prototype[Symbol.iterator]()

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

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 ⁨septiembre de 2016⁩.

El método[Symbol.iterator]() de las instanciasMap implementa elprotocolo de iteración y permite a los objetosMap ser consumidos por la mayoría de sintaxis que esperan iterables, como lo es, lasintaxis spread y el buclefor...of. Este método regresa unobjeto iterator de map que produce tuplas llave-valor delmap en orden de inserción.

El valor inicial de esta propiedad, es el mismo objeto de función que el valor inicial de la propiedadMap.prototype.entries.

Pruébalo

const map1 = new Map();map1.set("0", "foo");map1.set(1, "bar");const iterator1 = map1[Symbol.iterator]();for (const item of iterator1) {  console.log(item);}// Expected output: Array ["0", "foo"]// Expected output: Array [1, "bar"]

Sintaxis

js
map[Symbol.iterator]()

Parámetros

Ningúno.

Valor devuelto

El mismo valor devuelto queMap.prototype.entries(): un nuevoobjeto iterator iterable que produce tuplas llave-valor delmap.

Ejemplo

Iteración usando el bucle for...of

Note que raramente necesitará llamar este método directamente. La existencia de el método[Symbol.iterator]() hace a los objetosMapiterables, y sintaxis de iteracion como lo és el buclefor...of automáticamente llama a este método para obtener el iterador que se usará para iterar sobre el objeto.

js
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]: baz

Manualmente moviendo el iterador

Puedes llamar manualmente el métodonext() del objeto iterator para tener máximo control sobre el proceso de iteración.

js
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"]

Especificaciones

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

Compatibilidad con navegadores

Véase también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp