Introducción
En este laboratorio, exploraremos el concepto de generadores en JavaScript. En particular, aprenderemos cómo crear una función generadora que produzca nuevos valores hasta que se cumpla una cierta condición. A través de ejercicios de codificación prácticos, obtendremos una mejor comprensión de cómo funcionan los generadores y cómo se pueden utilizar para simplificar nuestro código y mejorar su rendimiento.
Generando valores hasta que se cumpla una condición dada
Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node. Una vez que hayas hecho eso, puedes crear un generador que produzca nuevos valores hasta que se cumpla una condición dada.
Para crear este generador, sigue estos pasos:
- Inicializa el
valactual utilizando el valorseed. - Utiliza un bucle
whilepara seguir iterando mientras la funcióncondition, llamada con elvalactual, devuelvafalse. - Utiliza la palabra clave
yieldpara devolver elvalactual y, opcionalmente, recibir un nuevo valorseed,nextSeed. - Utiliza la función
nextpara calcular el siguiente valor a partir delvalactual y elnextSeed.
Aquí hay un fragmento de código de ejemplo:
const generateUntil = function* (seed, condition, next) {
let val = seed;
let nextSeed = null;
while (!condition(val)) {
nextSeed = yield val;
val = next(val, nextSeed);
}
return val;
};
Puedes utilizar el generador llamándolo con los argumentos adecuados. Por ejemplo:
[
...generateUntil(
1,
(v) => v > 5,
(v) => ++v
)
]; // [1, 2, 3, 4, 5]
Esto producirá una matriz de valores de 1 a 5, ya que la condición v > 5 se cumple cuando val es igual a 6.
Resumen
¡Felicitaciones! Has completado el laboratorio Generar Hasta Que Se Cumpla la Condición. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.