[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Map/Symbol.iterator [Back]  [Original]

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

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Map.prototype[Symbol.iterator]()

Baseline
Ampliamente disponible

Esta caracterstica est consolidada y funciona en muchos dispositivos y versiones de navegador. Est disponible en todos los navegadores desde septiembre de 2016.

El mtodo [Symbol.iterator]() de las instancias Map implementa el protocolo de iteracin y permite a los objetos Map ser consumidos por la mayora de sintaxis que esperan iterables, como lo es, la sintaxis spread y el bucle for...of. Este mtodo regresa un objeto iterator de map que produce tuplas llave-valor del map en orden de insercin.

El valor inicial de esta propiedad, es el mismo objeto de funcin que el valor inicial de la propiedad Map.prototype.entries.

En este artculo

Prubalo

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]()

Parmetros

Ningno.

Valor devuelto

El mismo valor devuelto que Map.prototype.entries(): un nuevo objeto iterator iterable que produce tuplas llave-valor del map.

Ejemplo

Iteracin usando el bucle for...of

Note que raramente necesitar llamar este mtodo directamente. La existencia de el mtodo [Symbol.iterator]() hace a los objetos Map iterables, y sintaxis de iteracion como lo s el bucle for...of automticamente llama a este mtodo 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 mtodo next() del objeto iterator para tener mximo control sobre el proceso de iteracin.

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

Especificacin
ECMAScript 2027 LanguageSpecification
# sec-map.prototype-%symbol.iterator%

Compatibilidad con navegadores

Vase tambin


Web Proxy Viewer  |  New URL  |  Original Page