- Create random date from today
- Have while loop, Check generated already exist in exclude dates array (continue loop until you find date which is not in dates array)
const randomDateFromToday = (exclude_dates, max_days = 365) => {
const randomDate = () => {
const rand = Math.floor(Math.random() * max_days) * 1000 * 60 * 60 * 24;
const dat = new Date(Date.now() + rand);
return `${dat.getDate()}/${dat.getMonth() + 1}/${dat.getFullYear()}`;
};
let rday = randomDate();
while (exclude_dates.some((date_str) => date_str === rday)) {
rday = randomDate();
}
return rday;
};
dates = ["20/2/2020", "10/2/2019"];
console.log(randomDateFromToday(dates));
console.log(randomDateFromToday(dates));
2
solved Generate random date but exclude some dates from array in javascript