[ 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 Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since 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.

In this article

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

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

Compatibilidad con navegadores

Vase tambin


Web Proxy Viewer  |  New URL  |  Original Page