⊗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çeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне