JavaScript Map.prototype[@@iterator]() Método

El método Map[@@iterator]( ) se usa para hacer que Map sea iterable. El método Map[@@iterator]( ) devuelve un objeto iterador que itera sobre todos los puntos de código de Map. Map[@@iterator]() es una propiedad integrada de Map .

Podemos usar este método creando Map iterator . Podemos hacer un iterador de mapas llamando a la propiedad @@iterator . En lugar de @@iterator , podemos usar la constante Symbol.iterator .

Sintaxis:

const iter = Map[ Symbol.iterator](); 

Parámetros: Esta propiedad no acepta ningún parámetro.
Valor de retorno: devuelve un iterador para iterar el punto de código de los objetos del iterador.

Ejemplo:

JavaScript

<script>
    const m = new Map();
    m.set(0, "a")
    m.set(2, "b")
    m.set(3, "c")
    const iterator = m[Symbol.iterator]();
    let itr = iterator.next()
    for (let i = 0; i < script m.size; i++) {
        console.log(itr.value, itr.done)
        itr = iterator.next()
    }
</script>

Producción: 

[0 : 'a'] false

[1 : 'b'] false

[2 : 'c'] false

Ejemplo: Podemos usar el método Map.prototype[@@iterator] con asignar Map al iterador. Podemos usar for loop para iterar sobre el punto de código de Map. El bucle for-of utiliza un iterador para iterar sobre los valores de Map.

Javascript

<script>
    const m = new Map();
    m.set(0, "a")
    m.set(2, "b")
    m.set(3, "c")
  
    const iterator = m[Symbol.iterator]();
  
    let itr = iterator.next()
  
    for (let i = 0; i < m.size; i++) {
  
        console.log(itr.value)
        itr = iterator.next()
  
    }
  
    console.log("iterating with for-of loop : ")
  
    for (let i of m) {
        console.log(i)
    }
</script>

Producción:

[0 : 'a']
[1 : 'b']
[2 : 'c']
iterating with for-of loop :
[0 : 'a']
[1 : 'b']
[2 : 'c']

Publicación traducida automáticamente

Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *