Как создать кастомный итерируемый объект?
Реализовать метод [Symbol.iterator](), который возвращает объект с методом next():
const range = {
from: 1, to: 5,
[Symbol.iterator]() {
let current = this.from;
const last = this.to;
return {
next() {
return current <= last
? { value: current++, done: false }
: { done: true };
}
};
}
};
for (const n of range) console.log(n); // 1 2 3 4 5