⊗jsSpItIOC 67 of 294 menu

Skapa ett itererbart objekt i JavaScript

Låt oss skapa ett riktigt itererbart objekt som kan itereras över med en for-of-loop. För att göra detta måste objektet ha en motsvarande funktion i Symbol.iterator.

Låt oss implementera det. Antag att vi har följande objekt:

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

Lägg till en funktion i Symbol.iterator:

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

Gör om denna funktion till en generator:

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

Inuti vår funktion kommer this att referera till själva objektet:

obj[Symbol.iterator] = function *() { console.log(this); // själva objektet }

Låt oss iterera över objektet i iteratorn:

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

Klart, objektet kan nu itereras över med en for-of-loop:

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

Skapa ett objekt som kan itereras över med en for-of-loop. Låt loop-elementet vara ett objekt där nyckeln key innehåller nyckeln från det itererbara objektet, och nyckeln val innehåller värdet. Exempel:

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

Kommer att skriva ut:

{key: 'a', val: 1} {key: 'b', val: 2} {key: 'c', val: 3}
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa