Введение
В этом практическом занятии мы изучим, как создать генератор диапазона дат с использованием JavaScript. Этот генератор позволит нам легко генерировать все даты в заданном диапазоне с заданным шагом. Используя конструктор Date и ключевое слово yield, мы можем эффективно перебирать даты и возвращать их пользователю. Это практическое занятие станет прекрасным шансом для практики работы с циклами и датами в JavaScript.
Генератор диапазона дат
Для генерации всех дат в заданном диапазоне с заданным шагом используйте следующий код в Терминале/SSH и введите node:
const dateRangeGenerator = function* (start, end, step = 1) {
let d = start;
while (d < end) {
yield new Date(d);
d.setDate(d.getDate() + step);
}
};
Это создает генератор, который использует цикл while для итерации от start до end, используя конструктор Date для возврата каждой даты в диапазоне и увеличивая на step дней с использованием Date.prototype.getDate() и Date.prototype.setDate().
Чтобы использовать значение по умолчанию 1 для step, опустите третий аргумент.
Вот пример использования dateRangeGenerator:
[...dateRangeGenerator(new Date("2021-06-01"), new Date("2021-06-04"))];
// [ 2021-06-01, 2021-06-02, 2021-06-03 ]
Резюме
Поздравляем! Вы завершили практическое занятие по генератору диапазона дат. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.