In questo tutorial imparerai a conoscere JavaScript per … of loop con l'aiuto di esempi.
In JavaScript, ci sono tre modi in cui possiamo usare un for
ciclo.
- JavaScript per loop
- JavaScript per … in loop
- JavaScript per … of loop
Il for… of
ciclo è stato introdotto nelle versioni successive di JavaScript ES6 .
Il for… of
ciclo in JavaScript ti consente di iterare su oggetti iterabili (array, set, mappe, stringhe ecc.).
JavaScript per … of loop
La sintassi del for… of
ciclo è:
for (element of iterable) ( // body of for… of )
Qui,
- iterabile - un oggetto iterabile (array, set, stringhe, ecc.).
- elemento : elementi nell'iterabile
In inglese semplice, puoi leggere il codice sopra come: per ogni elemento nell'iterabile, esegui il corpo del ciclo.
per … o con gli array
Il for… of
ciclo può essere utilizzato per iterare su un array. Per esempio,
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Produzione
John Sara Jack
Nel programma precedente, il for… of
ciclo viene utilizzato per iterare sull'oggetto array degli studenti e visualizzare tutti i suoi valori.
per … of with Strings
È possibile utilizzare il for… of
ciclo per iterare sui valori di stringa. Per esempio,
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Produzione
codice
per … di con i set
Puoi scorrere gli elementi Set utilizzando il for… of
ciclo. Per esempio,
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Produzione
1 2 3
per … o con Maps
È possibile scorrere gli elementi della mappa utilizzando il for… of
ciclo. Per esempio,
// 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); )
Produzione
nome- Jack età- 27 anni
Iteratori definiti dall'utente
Puoi creare un iteratore manualmente e utilizzare il for… of
ciclo per scorrere gli iteratori. Per esempio,
// 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); )
Produzione
1 2 3
per … o con i generatori
Poiché i generatori sono iterabili, è possibile implementare un iteratore in un modo più semplice. Quindi puoi scorrere i generatori usando il for… of
ciclo. Per esempio,
// generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )
Produzione
10 20 30
per … di Vs per … in
per … di | per … in |
---|---|
Il for… of ciclo viene utilizzato per scorrere i valori di un iterabile. | Il for… in ciclo viene utilizzato per scorrere le chiavi di un oggetto. |
Il for… of ciclo non può essere utilizzato per iterare su un oggetto. | Puoi usarlo for… in per iterare su un tipo iterabile di array e stringhe, ma dovresti evitare di usare for… in per iterabili. |
Il for… of
ciclo è stato introdotto in ES6 . Alcuni browser potrebbero non supportarne l'utilizzo. Per saperne di più, visita JavaScript per … of Support.