[Solved] Generate random date but exclude some dates from array in javascript


  1. Create random date from today
  2. 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