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