Встречается на собеседованиях • сегодня
Какими свойствами должна обладать структура, чтобы по ней можно было итерироваться
Структура должна быть итерируемой, если она реализует итераторный протокол. В JavaScript это означает наличие метода [Symbol.iterator](), который возвращает объект с методом next().
Пример с массивом (уже итерируемым):
javascript
const arr = [1, 2, 3];
const iterator = arr[Symbol.iterator]();
console.log(iterator.next()); // { value: 1, done: false }Пример кастомной итерируемой структуры:
javascript
const range = {
from: 1,
to: 3,
[Symbol.iterator]() {
let current = this.from;
return {
next: () => ({
value: current <= this.to ? current++ : undefined,
done: current > this.to + 1
})
};
}
};
for (const num of range) console.log(num); // 1, 2, 3Ключевые требования:
- Наличие
[Symbol.iterator](). - Итератор должен возвращать объект с методом
next(). next()возвращает{ value: any, done: boolean }.
Также можно использовать генераторы (function*) для упрощения.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы