Показать сообщение отдельно
  #4 (permalink)  
Старый 22.08.2021, 16:40
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,517

Если массив отсортирован - примерно так:
function findEndDate(dates, date, defaultValue = null) {
  for(const [start, end] of dates) {
    if(end >= date) { // старшая дата
      if(start <= date) { // дата внутри диапазона
        throw new RangeError(`Дата ${date} внутри диапазона ${start} - ${end}.`);
      }
      return end;
    }
  }
  return defaultValue;
}


рони, нет смысла преобразовывать дату в Date, имеющийся формат нормально сравнивается как строка.)
__________________
29375, 35

Последний раз редактировалось Aetae, 22.08.2021 в 16:44.
Ответить с цитированием