⊗jsSpItIOC 67 of 294 menu

Vytváření iterovatelného objektu v JavaScriptu

Vytvořme skutečný iterovatelný objekt, který lze procházet pomocí cyklu for-of. K tomu je potřeba objektu přidat odpovídající funkci do Symbol.iterator.

Pojďme to implementovat. Předpokládejme, že máme následující objekt:

let obj = { a: 1, b: 2, c: 3, };

Přidejme funkci do Symbol.iterator:

obj[Symbol.iterator] = function() { }

Převeďme tuto funkci na generátor:

obj[Symbol.iterator] = function *() { }

Uvnitř naší funkce this bude odkazovat na samotný objekt:

obj[Symbol.iterator] = function *() { console.log(this); // samotný objekt }

Spustíme v iterátoru průchod objektem:

obj[Symbol.iterator] = function *() { for (let key in this) { yield obj[key]; } }

Hotovo, objekt lze nyní procházet cyklem for-of:

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

Vytvořte objekt, který lze procházet cyklem for-of. Nechť do prvku cyklu přichází objekt, v jehož klíči key bude klíč procházeného objektu a v klíči val - hodnota. Příklad:

let obj = {a: 1, b: 2, c: 3}; for (let elem of obj) { console.log(elem); }

Vypíše:

{key: 'a', val: 1} {key: 'b', val: 2} {key: 'c', val: 3}
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout