Τρία ενσωματωμένα επαναλήπτες στην JavaScript
Στην πραγματικότητα, κάθε επαναληπτό αντικείμενο
περιέχει όχι έναν επαναλήπτη, αλλά τρεις:
values, keys και entries.
Για κάθε τύπο αντικειμένων από προεπιλογή εφαρμόζεται
ο δικός του επαναλήπτης. Για πίνακες - αυτός είναι ο values,
ενώ, για παράδειγμα, για τη συλλογή Map,
αυτός είναι ο entries.
Διαθέτοντας αυτή τη γνώση, μπορούμε τώρα να
εφαρμόσουμε αυτή την αρχή σε οποιαδήποτε συλλογή.
Για παράδειγμα, ας υποθέσουμε ότι έχουμε μια συλλογή Map:
let map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
Από προεπιλογή για αυτή τη συλλογή εφαρμόζεται
ο επαναλήπτης entries:
for (let elem of map) {
console.log(elem); // ['a', 1], ['b', 2], ['c', 3]
}
Αλλά μπορούμε εύκολα να λάβουμε τα κλειδιά της συλλογής μας:
for (let elem of map.keys()) {
console.log(elem); // 'a', 'b', 'c'
}
Μπορούμε επίσης να λάβουμε και τις τιμές:
for (let elem of map.values()) {
console.log(elem); // 1, 2, 3
}
Ποιος επαναλήπτης από προεπιλογή δρα στη συλλογή Set;