⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш