JavaScript හි iterator ඇමතුම්

Iterator හි සෑම අනුක්‍රමික ඇමතුමක්ම විශේෂ ව්‍යුහයක් සහිත වස්තුවක් ආපසු ලබා දිය යුතුය. අපි එය සලකා බලමු. අපට අරාවක් ඇතැයි සිතමු:

javascriptlet arr = [1, 2, 3];

අරාවේ iterator එක විචල්‍යයකට ලබා ගනිමු:

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

දැන් මෙම විචල්‍යය තුළ next ක්‍රමය සහිත වස්තුවක් අඩංගු වේ. මෙම ක්‍රමය value යතුරක්, එහි මූලද්‍රව්‍යයේ අගය අඩංගු කරමින්ද, සහ done යතුරක්, එයින් අවසන් වී ඇතිද යන්න පිළිබඳ තොරතුරු අඩංගු කරමින්ද, ආපසු ලබා දෙන වස්තුවක් ආපසු ලබා දෙනු ඇත:

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

next ක්‍රමයේ අනුක්‍රමික ඇමතුම සෑම අවස්ථාවකම ඊළඟ මූලද්‍රව්‍යය ලබා දෙනු ඇත:

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 එකතුවේ iterator එක ලබා ගන්න. එකතුවේ මූලද්‍රව්‍ය අවසන් නොවන තෙක් එය අනුක්‍රමිකව අමතන්න.

Задание 2

NodeList එකතුවේ iterator එක ලබා ගන්න. එකතුවේ මූලද්‍රව්‍ය අවසන් නොවන තෙක් එය අනුක්‍රමිකව අමතන්න.

Задание 3

HTMLCollection එකතුවේ iterator එක ලබා ගන්න. එකතුවේ මූලද්‍රව්‍ය අවසන් නොවන තෙක් එය අනුක්‍රමිකව අමතන්න.