Не могу по нему пройти циклом for - элементы все undefined. Цикл for of работает норм. в чем может быть проблема?
class MyCollection {
constructor() {
console.log("Constructor");
this.items = [];
this.index = 0;
}
[Symbol.iterator]() {
console.log("Iterator");
return this;
}
next() {
console.log("Next");
if (this.index < this.items.length) {
return {
value: this.items[this.index++],
done: false
};
}
return {
done: true
};
}
add(item) {
console.log("Add");
this.items.push(item);
}
get length() {
console.log("Length " + this.items.length);
return this.items.length;
}
forEach (callback) {
if (typeof callback !== 'function')
throw new TypeError(callback + ' is not a function');
for (let index = 0; index < this.items.length; index++)
callback.call(this, this.items[index], index, this.items);
}
}
залей в песочницу
Обсуждают сегодня