⊗jsSpItIOC 67 of 294 menu

Իտերացվող օբյեկտի ստեղծումը JavaScript-ում

Եկեք ստեղծենք իսկական իտերացվող օբյեկտ, որը հնարավոր կլինի վերաբերել for-of ցիկլի միջոցով: Դրա համար օբյեկտին պետք է ավելացնել համապատասխան ֆունկցիա Symbol.iterator-ում:

Եկեք իրականացնենք: Ենթադրենք, մենք ունենք հետևյալ օբյեկտը:

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

Ավելացնենք ֆունկցիա Symbol.iterator-ում:

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

Փոխակերպենք այս ֆունկցիան գեներատորի.

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

Մեր ֆունկցիայի ներսում this-ը կուղղվի հենց օբյեկտին.

obj[Symbol.iterator] = function *() { console.log(this); // հենց օբյեկտը }

Գործարկենք օբյեկտի վերաբերման գործընթացը իտերատորում.

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

Վերջ, օբյեկտը կարելի է վերաբերել for-of ցիկլով.

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

Ստեղծեք օբյեկտ, որը հնարավոր է վերաբերել for-of ցիկլով: Թող ցիկլի տարր լինի մի օբյեկտ, որի key բանալիում կլինի վերաբերվող օբյեկտի բանալին, իսկ val բանալիում՝ արժեքը: Օրինակ.

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

Կարտադրի.

{key: 'a', val: 1} {key: 'b', val: 2} {key: 'c', val: 3}
Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել