⊗jsSpItIOC 67 of 294 menu

JavaScript-da iteratsiya qilinadigan obyekt yaratish

Keling, haqiqiy iteratsiya qilinadigan obyekt yarataylik, uni for-of tsikli orqali aylantirish mumkin. Buning uchun obyektga Symbol.iterator-ga mos funksiya qo'shish kerak.

Keling, amalga oshiramiz. Faraz qilaylik, bizda quyidagi obyekt mavjud:

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

Symbol.iterator-ga funksiya qo'shamiz:

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

Keling, bu funksiyani generatorga aylantiramiz:

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

Funksiyamiz ichida this obyektning o'ziga ishora qiladi:

obj[Symbol.iterator] = function *() { console.log(this); // obyektning o'zi }

Keling, iterator ichida obyektni aylantirishni boshlaymiz:

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

Hammasi shu, obyektni endi for-of tsikli bilan aylantirish mumkin:

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

for-of tsikli bilan aylantirish mumkin bo'lgan obyekt yarating. Tsikl elementiga key kalitida aylantirilayotgan obyektning kaliti, val kalitida esa qiymati bo'lgan obyekt tushsin. Misol:

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

Chiqadi:

{key: 'a', val: 1} {key: 'b', val: 2} {key: 'c', val: 3}
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish