Задать вопрос
@coder56

Почему не работает скрипт в этом случае и работает в другом?

Такая проблема. Тема строкового сравнения дат. Есть скрипт:
let date = '20-08';

if (date >= '01-01' && date <= '08-03') {
	console.log('1 промежуток');
}

if (date >= '09-03' && date <= '17-06') {
	console.log('2 промежуток');
}

if (date >= '18-06' && date <= '31-12') {
	console.log('3 промежуток');
}

И он работает.
И есть второй скрипт:
let date = '20-07';

if (date >= '22-12' && date <= '20-01'){console.log('Козерог');}
if (date >= '21-01' && date <= '19-02'){console.log('Водолей');}
if (date >= '20-02' && date <= '20-03'){console.log('Рыбы');}
if (date >= '21-03' && date <= '20-04'){console.log('Овен');}
if (date >= '21-04' && date <= '21-05'){console.log('Телец');}
if (date >= '22-05' && date <= '21-06'){console.log('Близнецы');}
if (date >= '22-06' && date <= '23-07'){console.log('Рак');}
if (date >= '24-07' && date <= '23-08'){console.log('Лев');}
if (date >= '24-08' && date <= '23-09'){console.log('Дева');}
if (date >= '24-09' && date <= '23-10'){console.log('Весы');}
if (date >= '24-10' && date <= '22-11'){console.log('Скорпион');}
if (date >= '23-11' && date <= '21-12'){console.log('Дева');}

И он почему-то не работает. Вопрос: почему? Что в нем не так? может, я просто не вижу?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Odisseya
@Odisseya
Оптимизирую PageSpeed & Performance
Потому, что при строковом сравнении '22-06' будет больше, чем '20-07'. Таким образом условие if (date >= '22-06' && date <= '23-07') — ложно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы