Content-Length: 192651 | pFad | http://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Map/Symbol.iterator

Map.prototype[Symbol.iterator]() - JavaScript | MDN

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 English Always 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 instancias Map implementa el protocolo de iteración y permite a los objetos Map ser consumidos por la mayoría de sintaxis que esperan iterables, como lo es, la sintaxis spread y el bucle for...of. Este método regresa un objeto iterator de map que produce tuplas llave-valor del map en orden de inserción.

El valor inicial de esta propiedad, es el mismo objeto de función que el valor inicial de la propiedad Map.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 que Map.prototype.entries(): un nuevo objeto iterator iterable que produce tuplas llave-valor del map.

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 objetos Map iterables, y sintaxis de iteracion como lo és el bucle for...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étodo next() 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









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Map/Symbol.iterator

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy