Introdução
Neste laboratório, exploraremos o conceito de generators (geradores) em JavaScript. Especificamente, aprenderemos como criar uma função geradora que produz novos valores até que uma determinada condição seja atendida. Através de exercícios práticos de codificação, obteremos uma melhor compreensão de como os generators funcionam e como eles podem ser usados para simplificar nosso código e melhorar seu desempenho.
Gerando Valores Até que uma Condição Seja Atendida
Para começar a praticar a codificação, abra o Terminal/SSH e digite node. Depois de fazer isso, você pode criar um generator (gerador) que produz novos valores até que uma determinada condição seja atendida.
Para criar este generator, siga estes passos:
- Inicialize o
valatual usando o valorseed. - Use um loop
whilepara continuar iterando enquanto a funçãocondition, chamada com ovalatual, retornarfalse. - Use a palavra-chave
yieldpara retornar ovalatual e, opcionalmente, receber um novo valor seed,nextSeed. - Use a função
nextpara calcular o próximo valor a partir dovalatual e donextSeed.
Aqui está um exemplo de trecho de código:
const generateUntil = function* (seed, condition, next) {
let val = seed;
let nextSeed = null;
while (!condition(val)) {
nextSeed = yield val;
val = next(val, nextSeed);
}
return val;
};
Você pode usar o generator chamando-o com os argumentos apropriados. Por exemplo:
[
...generateUntil(
1,
(v) => v > 5,
(v) => ++v
)
]; // [1, 2, 3, 4, 5]
Isso produzirá um array de valores de 1 a 5, pois a condição v > 5 é atendida quando val é igual a 6.
Resumo
Parabéns! Você concluiu o laboratório "Gerar Até que a Condição Seja Atendida". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.