Iterator

Dans le fichier tableau.js supprimer l'héritage de Array.

Ajoutez la propriété Symbol.iterator à votre classe.

Modifiez Tableau, TableauNombres, TableauMots

1
class Tableau {
2
    constructor(...tab) {
3
        let i=0;
4
        for (let elt of tab) this[i++] = elt;
5
    }
6
7
    *[Symbol.iterator]() {
8
        let i = 0;
9
        while (this[i]) {
10
            yield this[i++];
11
        }
12
    }
13
14
    // reste du code
15
16
}
17
18
// class TableauNombres
19
20
// class TableauMots
21
22
const tabNb1 = new TableauNombres(3, 5, 1, 7);
23
console.log(tabNb1.somme());              // 16
24
const tabMot1 = new TableauMots('lundi', 'mardi', 'mercredi');
25
console.log(tabMot1.somme());             // 18
26
console.log(tabNb1.map((v) => v * 2));    // TableauNombres(4) [6, 10, 2, 14e

Vos tableaux peuvent utiliser les méthodes de Array.

Vérifiez dans la console.

Visualisez le prototypage de votre tableau.