У меня есть несколько операторов if, которые выводят строки из соответствующего списка в зависимости от ввода (feelsLike).

Код

Сначала он выводит диапазон, в котором находится feelLike, а затем добавляет в строку все, что есть в списке. Из консоли мы можем проверить, что feelLike равен 14, но каким-то образом он выполняет console.log во втором операторе if (6 <= feelLike <= 9). Не могли бы вы сказать мне, что я делаю неправильно?

Консольный вывод

-3
user10132084 28 Окт 2019 в 05:15
5
Если вы можете, отредактируйте ваш фактический код как текст в своем вопросе - изображения кода одни являются утомительно и сложно работать и отлаживать. Он заставляет тех, кто в противном случае хотел бы помочь вам, сначала расшифровывать ваше изображение, что является пустой тратой времени.
 – 
CertainPerformance
28 Окт 2019 в 05:16

1 ответ

6 <= feelsLike <= 9

Это не работает так, как вы хотите. Он не будет проверять, находится ли feelLike между 6 и 9. Вместо этого он проверит, является ли 6 <= feelslike, и это разрешается либо true, либо false. Предположим, что это ложь, следующее, что он проверит, это false <= 9. Это сравнение не имеет особого смысла, поэтому javascript превращает false в число, а именно 0 (true превратится в 1). 0 меньше или равно 9, поэтому конечным результатом будет true.

Вместо этого выполните 6 <= feelsLike && feelsLike <= 9

4
Nicholas Tower 28 Окт 2019 в 05:21