JavaScript za ... od Loop

U ovom ćete tutorijalu uz primjere naučiti o JavaScriptu za … of loop.

U JavaScriptu postoje tri načina na koje možemo koristiti forpetlju.

  • JavaScript za petlju
  • JavaScript za … u petlji
  • JavaScript za … petlje

for… ofPetlje je uveden u kasnijim verzijama JavaScript ES6 .

for… ofPetlja u JavaScriptu vam omogućava ponoviti više iterable objekata (polja, setovi, mape, žice i sl).

JavaScript za … petlje

Sintaksa for… ofpetlje 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… ofPetlja 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… ofpetlja se koristi za iteraciju preko objekta niza učenika i prikazivanje svih njegovih vrijednosti.

za … od sa žicama

Možete koristiti for… ofpetlju 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… ofpetlje 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… ofpetlje 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… ofpetlju 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… ofpetlju 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… ofPetlja se koristi za prolazak kroz vrijednosti od iterable. for… inPetlja se koristi za prolazak kroz ključeva objekta.
for… ofPetlja se ne može koristiti za prolazak kroz objekt. Možete koristiti for… inza iteraciju preko iterabilnih takvih nizova i nizova, ali trebali biste izbjegavati upotrebu for… inza iterable.

for… ofPetlje je uveden u ES6 . Neki preglednici možda ne podržavaju njegovu upotrebu. Da biste saznali više, posjetite JavaScript za… podrške.

Zanimljivi članci...