Введение
В этом практическом занятии мы изучим концепцию генераторов в JavaScript и научимся создавать генератор цикла, который бесконечно перебирает массив. Мы будем использовать ключевое слово yield и цикл while для создания генератора, а затем тестировать его с разными массивами, чтобы понять, как он работает. В конце этого практического занятия у вас будет более глубокое понимание генераторов и того, как их можно использовать в своих проектах на JavaScript.
Инструкции по генератору цикла
Для начала практики программирования откройте Терминал/SSH и введите node. Затем создайте генератор, который будет бесконечно перебирать заданный массив. Вот шаги:
- Используйте неограниченный цикл
while, который будетвозвращатьзначение каждый раз, когда вызываетсяGenerator.prototype.next(). - Используйте оператор модуля (
%) сArray.prototype.length, чтобы получить индекс следующего значения, и увеличьте счетчик после каждой инструкцииyield.
Вот пример функции cycleGenerator:
const cycleGenerator = function* (arr) {
let i = 0;
while (true) {
yield arr[i % arr.length];
i++;
}
};
Затем вы можете использовать функцию следующим образом:
const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
Согласно этим инструкциям, вы можете создать генератор цикла, который будет бесконечно перебирать любой массив.
Резюме
Поздравляем! Вы завершили практическое занятие по генератору цикла. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.