Trys įtaisytieji iteratoriai JavaScript
Tiesą sakant, kiekvienas iteruojamas objektas
turi ne vieną iteratorų, o tris:
values, keys ir entries.
Kiekvienam objektų tipui pagal nutylėjimą taikomas
savas iteratorius. Masyvams - tai values,
o, pavyzdžiui, kolekcijai Map,
tai entries.
Žinodami tai, dabar galime
taikyti šį principą bet kuriai kolekcijai.
Pavyzdžiui, tarkime, kad turime Map kolekciją:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Pagal nutylėjimą šiai kolekcijai taikomas
iteratorius entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Bet mes galime lengvai gauti mūsų kolekcijos raktus:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Taip pat galime gauti ir reikšmes:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Koks iteratorius pagal nutylėjimą veikia
Set kolekcijoje?