⊗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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა