Introducción
En este laboratorio, exploraremos el concepto de generadores en JavaScript y aprenderemos a crear un generador de ciclo que recorre indefinidamente una matriz. Usaremos la palabra clave yield y un bucle while para crear el generador, y luego lo probaremos con diferentes matrices para ver cómo funciona. Al final de este laboratorio, tendrás una comprensión más profunda de los generadores y cómo se pueden utilizar en tus proyectos de JavaScript.
Instrucciones para el generador de ciclo
Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node. A continuación, crea un generador que recorra indefinidamente la matriz dada. Aquí están los pasos:
- Utiliza un bucle
whileno terminante queyieldun valor cada vez que se llama aGenerator.prototype.next(). - Utiliza el operador módulo (
%) conArray.prototype.lengthpara obtener el índice del siguiente valor e incrementar el contador después de cada declaraciónyield.
Aquí hay un ejemplo de la función cycleGenerator:
const cycleGenerator = function* (arr) {
let i = 0;
while (true) {
yield arr[i % arr.length];
i++;
}
};
Luego puedes usar la función de la siguiente manera:
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 }
Con estas instrucciones, puedes crear un generador de ciclo que recorra cualquier matriz indefinidamente.
Resumen
¡Felicidades! Has completado el laboratorio del Generador de Ciclo. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.