⊗jsSpItOL 65 of 294 menu

Enkelmalige werking van iterators in JavaScript

Elke iterator kan slegs een keer in 'n siklus deelneem. Dit is effens onverwags, maar logies - want 'n iterator wat deurloop is, stel sy done na false, en kan dus nie weer herhaal word nie.

Kom ons maak seker hiervan. Laat ons die volgende generator hê:

function *func() { yield 1; yield 2; yield 3; }

Laat ons 'n iterator maak:

let iter = func();

Laat ons die iterator met een siklus deurloop:

for (let elem of iter) { console.log(elem); // 1, 2, 3 }

En nou deurloop ons die iterator met twee siklusse:

for (let elem of iter) { console.log(elem); // 1, 2, 3 } for (let elem of iter) { console.log(elem); // werk nie }

Om die probleem op te los, moet jy vir elke nuwe siklus 'n nuwe iterator skep:

let iter1 = func(); for (let elem of iter1) { console.log(elem); // 1, 2, 3 } let iter2 = func(); for (let elem of iter2) { console.log(elem); // 1, 2, 3 }

Ons kan vereenvoudig:

for (let elem of func()) { console.log(elem); // 1, 2, 3 } for (let elem of func()) { console.log(elem); // 1, 2, 3 }

Korrigeer die fout wat gemaak is in die volgende kode:

function *func() { for (let i = 1; i <= 3; i++) { yield i; } } let elems = func(); for (let elem of elems) { console.log(elem); } for (let elem of elems) { console.log(elem); }
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp