En este tutorial, aprenderá sobre JavaScript for… of loop con la ayuda de ejemplos.
En JavaScript, hay tres formas en las que podemos usar un for
bucle.
- JavaScript para bucle
- JavaScript para… en bucle
- JavaScript para… de bucle
El for… of
bucle se introdujo en las versiones posteriores de JavaScript ES6 .
El for… of
bucle en JavaScript le permite iterar sobre objetos iterables (matrices, conjuntos, mapas, cadenas, etc.).
JavaScript para… de bucle
La sintaxis del for… of
bucle es:
for (element of iterable) ( // body of for… of )
Aquí,
- iterable : un objeto iterable (matriz, conjunto, cadenas, etc.).
- elemento - elementos en el iterable
En un lenguaje sencillo, puede leer el código anterior como: para cada elemento del iterable, ejecute el cuerpo del bucle.
para … de con matrices
El for… of
bucle se puede utilizar para iterar sobre una matriz. Por ejemplo,
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Salida
John Sara Jack
En el programa anterior, el for… of
ciclo se usa para iterar sobre el objeto de matriz de los estudiantes y mostrar todos sus valores.
para … de con cadenas
Puede utilizar el for… of
bucle para iterar sobre los valores de cadena. Por ejemplo,
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Salida
código
para … de con Sets
Puede iterar a través de los elementos Set utilizando el for… of
bucle. Por ejemplo,
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Salida
1 2 3
para … de con Maps
Puede iterar a través de los elementos del mapa utilizando el for… of
bucle. Por ejemplo,
// define Map let map = new Map(); // inserting elements map.set('name', 'Jack'); map.set('age', '27'); // looping through Map for (let (key, value) of map) ( console.log(key + '- ' + value); )
Salida
nombre- Jack edad- 27
Iteradores definidos por el usuario
Puede crear un iterador manualmente y utilizar el for… of
bucle para recorrer los iteradores. Por ejemplo,
// creating iterable object const iterableObj = ( // iterator method (Symbol.iterator)() ( let step = 0; return ( next() ( step++; if (step === 1) ( return ( value: '1', done: false); ) else if (step === 2) ( return ( value: '2', done: false); ) else if (step === 3) ( return ( value: '3', done: false); ) return ( value: '', done: true ); ) ) ) ) // iterating using for… of for (const i of iterableObj) ( console.log(i); )
Salida
1 2 3
para… de con generadores
Dado que los generadores son iterables, puede implementar un iterador de una manera más sencilla. Luego puede iterar a través de los generadores usando el for… of
bucle. Por ejemplo,
// generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )
Salida
10 20 30
para … de Vs para … en
para … de | para … en |
---|---|
El for… of bucle se utiliza para iterar a través de los valores de un iterable. | El for… in bucle se utiliza para recorrer las claves de un objeto. |
El for… of bucle no se puede utilizar para iterar sobre un objeto. | Puede usar for… in para iterar sobre un iterable tales matrices y cadenas, pero debe evitar usar for… in para iterables. |
El for… of
bucle se introdujo en ES6 . Es posible que algunos navegadores no admitan su uso. Para obtener más información, visite JavaScript para… de Soporte.