JavaScript တွင် Iterator များခေါ်ဆိုခြင်း

Iterator ၏ဆက်တိုက်ခေါ်ဆိုမှုတစ်ခုစီသည် အထူးဖွဲ့စည်းပုံတစ်ခုရှိသောအရာဝတ္ထုတစ်ခုကို ပြန်ပေးသင့်သည်။ ၄င်းဖွဲ့စည်းပုံကိုကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင်ခင်းကျင်းတစ်ခုရှိသည်ဆိုပါစို့-

javascriptlet arr = [1, 2, 3];

ခင်းကျင်း၏ iterator ကို အပြောင်းအလဲတစ်ခုထဲရယူမည်-

javascriptlet iter = arr[Symbol.iterator]();

ယခုဤအပြောင်းအလဲအတွင်း၌ next method ပါဝင်သောအရာဝတ္ထုတစ်ခုပါရှိသည်။ ဤ method သည် ဒြပ်စင်၏တန်ဖိုးပါဝင်သော value ချုပ်၊ ပြီးဆုံးခြင်းရှိ၊မရှိအချက်အလက်ပါဝင်သော done ချုပ်တို့ပါဝင်သည့် အရာဝတ္ထုတစ်ခုကိုပြန်ပေးမည်-

javascriptconsole.log( iter.next() ); // {value: 1, done: false}

next method အားဆက်တိုက်ခေါ်ဆိုခြင်းသည် အကြိမ်တိုင်းတွင် နောက်ထပ်ဒြပ်စင်တစ်ခုကို ထုတ်ပေးမည်-

javascriptconsole.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}

ဒြပ်စင်များကုန်ဆုံးသည်နှင့်တပြိုင်နက် ကျွန်ုပ်တို့အောက်ပါတန်ဖိုးများကိုတွေ့မြင်ရမည်-

javascriptconsole.log( iter.next() ); // {value: undefined, done: true}
Задание 1

Map collection ၏ iterator ကိုရယူပါ။ ဒြပ်စင်များမကုန်ဆုံးမချင်း ၄င်းအားဆက်တိုက်ခေါ်ဆိုပါ။

Задание 2

NodeList collection ၏ iterator ကိုရယူပါ။ ဒြပ်စင်များမကုန်ဆုံးမချင်း ၄င်းအားဆက်တိုက်ခေါ်ဆိုပါ။

Задание 3

HTMLCollection collection ၏ iterator ကိုရယူပါ။ ဒြပ်စင်များမကုန်ဆုံးမချင်း ၄င်းအားဆက်တိုက်ခေါ်ဆိုပါ။