Javascript String @@ método iterador

El método String [@@iterator]( ) se usa para hacer que String sea iterable. [@@iterator]() devuelve un objeto iterador que itera sobre todos los puntos de código de String. String[@@iterator] está integrado en la propiedad de String. 

Podemos usar este método haciendo un iterador de string. Podemos hacer un iterador llamando a la propiedad @@iterator de String. En lugar de @@iterator, usamos la constante Symbol.iterator.

Sintaxis:

// Test String
var str ="String"; 

// iterator to String
var iter = str[Symbol.iterator]();

Podemos obtener el objeto iterador con next(). Devuelve el objeto con el valor de las claves y listo. La clave de valor contiene una string de valor de iteración real y la clave de hecho se mantiene verdadera o falsa si la iteración finaliza, se mantiene verdadera si no, entonces falsa. Podemos obtener el valor del objeto por str.value y hacerlo por str.done.

Ejemplo 1: a continuación se muestra el código que ilustra el uso del enfoque anterior.

Javascript

<script>
  const str = 'GFG';
  const iterator = str[Symbol.iterator]();
  let theChar = iterator.next();
 
  for(let i = 0; i < str.length ;i++) {
    console.log(theChar.value , theChar.done);
    theChar = iterator.next();
  }
</script>

Producción : 

"G" false
"F" false
"G" false

Podemos usar el método @@iterator sin asignar un iterador usando for — of loop para iterar la recolección excesiva de datos usando el método @@iterator. En cada iteración for — of loop llame a _next().value para iterar en la colección.

Ejemplo 2: a continuación se muestra el código que ilustra el uso del enfoque anterior.

Javascript

<script>
  const str = 'GFG';
  const iterator = str[Symbol.iterator]();
  let theChar = iterator;
 
  for(let i = 0; i < str.length ;i++)
  {
      console.log(theChar.next().value );
  }
 
  // Using for - of loop
  console.log("Iterating by for-of loop :")
  for(let i of str)
  {
      console.log(i)
  }
</script>

Producción:

"G"
"F"
"G"
Iterating by for-of loop  :
"G"
"F"
"G"

Navegadores compatibles:

  • Google Chrome 38 y superior
  • Borde 12 y superior
  • Firefox 36 y superior
  • Ópera 25 y superior
  • Safari 9 y superior
  • Internet Explorer no es compatible
     

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 *