⊗jsSpItOL 65 of 294 menu

Funksionimi një herë i përsëritësve në JavaScript

Çdo përsëritës mund të marrë pjesë në një cikël vetëm një herë. Kjo është pak e papritur, por logjike - në fund të fundit, përsëritësi i përshkuar e vendos done të tij në false, që do të thotë se nuk mund të përsëritet më.

Le ta verifikojmë këtë. Le të kemi gjeneruesin e mëposhtëm:

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

Le të krijojmë një përsëritës:

let iter = func();

Le të përsërisim përsëritësin me një cikël:

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

Tani le të përsërisim përsëritësin me dy cikle:

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

Për të zgjidhur problemin, duhet për çdo cikël të ri të krijohet përsëritësi i vet:

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 }

Mund ta thjeshtojmë:

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

Korrigjojeni gabimin e bërë në kodin e mëposhtëm:

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); }
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo