while loop to iterate from start to end, using yield to return each date in the range, using the Date constructor.Date.prototype.getDate() and Date.prototype.setDate() to increment by step days after returning each subsequent value.step, to use a default value of 1.const dateRangeGenerator = function* (start, end, step = 1) { let d = start; while (d < end) { yield new Date(d); d.setDate(d.getDate() + step); } };
[...dateRangeGenerator(new Date('2021-06-01'), new Date('2021-06-04'))]; // [ 2021-06-01, 2021-06-02, 2021-06-03 ]
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️