Introdução
Neste laboratório, exploraremos o conceito de geradores (generators) em JavaScript e aprenderemos como criar um gerador cíclico que itera sobre um array indefinidamente. Usaremos a palavra-chave yield e um loop while para criar o gerador e, em seguida, testá-lo com diferentes arrays para ver como funciona. Ao final deste laboratório, você terá uma compreensão mais profunda dos geradores e como eles podem ser usados em seus projetos JavaScript.
Instruções do Gerador Cíclico
Para começar a praticar a codificação, abra o Terminal/SSH e digite node. Em seguida, crie um gerador que itera sobre o array fornecido indefinidamente. Aqui estão os passos:
- Use um loop
whilenão terminante que iráyieldum valor cada vez queGenerator.prototype.next()for chamado. - Use o operador módulo (
%) comArray.prototype.lengthpara obter o índice do próximo valor e incremente o contador após cada instruçãoyield.
Aqui está um exemplo da função cycleGenerator:
const cycleGenerator = function* (arr) {
let i = 0;
while (true) {
yield arr[i % arr.length];
i++;
}
};
Você pode então usar a função da seguinte forma:
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 }
Com estas instruções, você pode criar um gerador cíclico que itera sobre qualquer array indefinidamente.
Resumo
Parabéns! Você concluiu o laboratório do Gerador Cíclico. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.