Introducción
En este laboratorio, exploraremos cómo crear un generador de rangos de fechas utilizando JavaScript. Este generador nos permitirá generar fácilmente todas las fechas dentro de un rango especificado con un paso dado. Al utilizar el constructor Date y la palabra clave yield, podemos iterar eficientemente sobre las fechas y devolverlas al usuario. Este laboratorio será una gran oportunidad para practicar el trabajo con bucles y fechas en JavaScript.
Generador de rangos de fechas
Para generar todas las fechas en un rango dado con un paso dado, utiliza el siguiente código en Terminal/SSH y escribe node:
const dateRangeGenerator = function* (start, end, step = 1) {
let d = start;
while (d < end) {
yield new Date(d);
d.setDate(d.getDate() + step);
}
};
Esto crea un generador que utiliza un bucle while para iterar desde start hasta end, utilizando el constructor Date para devolver cada fecha en el rango e incrementando en step días utilizando Date.prototype.getDate() y Date.prototype.setDate().
Para utilizar un valor predeterminado de 1 para step, omite el tercer argumento.
Aquí hay un ejemplo de cómo utilizar el dateRangeGenerator:
[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]
Resumen
¡Felicidades! Has completado el laboratorio de Generador de rangos de fechas. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.