Gerar Até que a Condição Seja Atendida

Beginner

This tutorial is from open-source community. Access the source code

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 val atual usando o valor seed.
  • Use um loop while para continuar iterando enquanto a função condition, chamada com o val atual, retornar false.
  • Use a palavra-chave yield para retornar o val atual e, opcionalmente, receber um novo valor seed, nextSeed.
  • Use a função next para calcular o próximo valor a partir do val atual e do nextSeed.

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.