Как через switch делать арифметические сравнения?
Например, у меня на выходе:
const randomNum = Math.floor(Math.random() * 100);
- дает случайное число от 0 до 100.
Мне нужно как-то донести до switch чтобы он перебирал числа, чтобы он выводил текст без цифр, а текстом что в массиве было. Код такой сейчс:
switch (randomNum) {
case randomNum > 69:
console.log('randomNum больше 69');
break;
case randomNum < 14:
console.log('randomNum меньше 14');
break;
default: console.log('randomNum меньше 69 и больше 14')
break;
}
Но он почему-то неправильный, и всегда выводит default. Есть еще вариант создать другие массивы с диапазоном цифр внутри, но итог тот же
Вообще switch умеет сравнивать?
Ответы (1 шт):
Автор решения: Юрий Копоть
→ Ссылка
Вообще, case сравнивает на соответствие правда/ложь (при том строгое сравнение). Но есть нестандартное поведение, которым можно добиться сравнение больше/меньше. Просто поставить true в switch, switch - Второй способ
const randomNum = Math.floor(Math.random() * 100);
switch (true) {
case randomNum > 69:
console.log(`${randomNum} больше 69`);
break;
case randomNum < 14:
console.log(`${randomNum} меньше 14`);
break;
default:
console.log(`${randomNum} не больше 69 и не меньше 14`);
}