Trois itérateurs intégrés en JavaScript
En réalité, chaque objet itérable
contient non pas un, mais trois itérateurs :
values, keys et entries.
Pour chaque type d'objet, un itérateur par défaut est appliqué.
Pour les tableaux - c'est values,
et, par exemple, pour la collection Map,
c'est entries.
Fort de ces connaissances, nous pouvons maintenant
appliquer ce principe à n'importe quelle collection.
Par exemple, supposons que nous ayons une collection Map :
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Par défaut, pour cette collection, l'itérateur
entries est appliqué :
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Mais nous pouvons facilement obtenir les clés de notre collection :
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Nous pouvons également obtenir les valeurs :
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Quel itérateur par défaut est actif dans la collection Set ?