📆

[TypeScript]日付が連続しているか判定

2022/09/19に公開
const isConsecutive = (dates: Date[]) => {
  return dates.every((date, i) => {
    if (i === 0) {
      return true;
    }
    const prevDate = new Date(dates[i - 1].getTime());
    prevDate.setDate(prevDate.getDate() + 1);
    return date.getTime() === prevDate.getTime();
  });
}

const ok = [new Date("2022-08-31"), new Date("2022-09-01"), new Date("2022-09-02")];
const ng = [new Date("2022-08-31"), new Date("2022-09-01"), new Date("2022-09-03")];
console.log(isConsecutive(ok)); // true
console.log(isConsecutive(ng)); // false

Discussion