U ovom ćete tutorijalu uz primjere naučiti o JavaScriptu za … of loop.
U JavaScriptu postoje tri načina na koje možemo koristiti for
petlju.
- JavaScript za petlju
- JavaScript za … u petlji
- JavaScript za … petlje
for… of
Petlje je uveden u kasnijim verzijama JavaScript ES6 .
for… of
Petlja u JavaScriptu vam omogućava ponoviti više iterable objekata (polja, setovi, mape, žice i sl).
JavaScript za … petlje
Sintaksa for… of
petlje je:
for (element of iterable) ( // body of for… of )
Ovdje,
- iterable - iterable objekt (niz, skup, nizovi itd.).
- element - stavke u iterableu
Na jednostavnom engleskom jeziku, gornji kod možete pročitati kao: za svaki element u iteralu pokrenite tijelo petlje.
za … od s Arrays
for… of
Petlja se može koristiti za prolazak kroz niz. Na primjer,
// array const students = ('John', 'Sara', 'Jack'); // using for… of for ( let element of students ) ( // display the values console.log(element); )
Izlaz
John Sara Jack
U gore navedenom programu for… of
petlja se koristi za iteraciju preko objekta niza učenika i prikazivanje svih njegovih vrijednosti.
za … od sa žicama
Možete koristiti for… of
petlju za prelazak preko vrijednosti niza. Na primjer,
// string const string = 'code'; // using for… of loop for (let i of string) ( console.log(i); )
Izlaz
kodirati
za … od sa Setovima
Pomoću for… of
petlje možete itirati kroz Set elemente . Na primjer,
// define Set const set = new Set((1, 2, 3)); // looping through Set for (let i of set) ( console.log(i); )
Izlaz
1 2 3
za… od s Mapama
Pomoću for… of
petlje možete pregledavati elemente karte . Na primjer,
// 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); )
Izlaz
ime- Jack dob- 27
Korisnički definirani iteratori
Iterator možete stvoriti ručno i koristiti for… of
petlju za itiranje kroz iteratore. Na primjer,
// 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); )
Izlaz
1 2 3
za … od s generatorima
Budući da su generatori iterabilni, iterator možete implementirati na lakši način. Tada for… of
petlju možete generirati kroz generatore . Na primjer,
// generator function function* generatorFunc() ( yield 10; yield 20; yield 30; ) const obj = generatorFunc(); // iteration through generator for (let value of obj) ( console.log(value); )
Izlaz
10 20 30
za … od Vs za … u
za … od | za … u |
---|---|
for… of Petlja se koristi za prolazak kroz vrijednosti od iterable. | for… in Petlja se koristi za prolazak kroz ključeva objekta. |
for… of Petlja se ne može koristiti za prolazak kroz objekt. | Možete koristiti for… in za iteraciju preko iterabilnih takvih nizova i nizova, ali trebali biste izbjegavati upotrebu for… in za iterable. |
for… of
Petlje je uveden u ES6 . Neki preglednici možda ne podržavaju njegovu upotrebu. Da biste saznali više, posjetite JavaScript za… podrške.