Криво работает условный оператор в javascript
Вопрос в том почему третий месяц программа считает зимним
if (myMonth == 01 || myMonth == 02 || myMonth==12) {
document.write("Время года: зима");
} else if (myMonth > 02 || myMonth ==04 || myMonth ==05) {
document.write("Время года: весна");
} else {
document.write("Время года: s");
}
Ответы (3 шт):
Автор решения: Sani
→ Ссылка
if (myMonth == 01 || myMonth == 02 || myMonth == 12) {
text = "Время года: зима";
} else if (myMonth == 03 || myMonth == 04 || myMonth == 05) {
text = "Время года: весна";
} else if (myMonth == 06 || myMonth == 07 || myMonth == 08) {
text = "Время года: лето";
} else {
text = "Время года: осень";
}
document.write(text);
Автор решения: meine
→ Ссылка
const months = {
'01': 'зима',
'02': 'зима',
'03': 'весна',
'04': 'весна',
'05': 'весна',
'06': 'лето',
'07': 'лето',
'08': 'лето',
'09': 'осень',
'10': 'осень',
'11': 'осень',
'12': 'зима'
};
const input = document.querySelector('.input');
const output = document.querySelector('.output');
input.addEventListener('input', e => {
output.innerHTML = `Время года: ${months[e.target.value] && months[e.target.value] || 'неверное значение'}`;
});
<input class="input" type="text">
<p class="output">Введите месяц, пример: 01, 02...</p>
Автор решения: Alex Krass
→ Ссылка
О, раз уж в комментариях уже ответили, что ошибка вы вычитании, то я тоже хочу принять участие в оптимизации кода в ответах.
document.getElementById("result").onclick = _ => {
let number = parseInt(document.getElementById("num").value);
document.getElementById("answer").innerText =
["зима","весна","лето","осень"][Math.floor(number / 3) % 4];
}
<div>
Введите номер месяца [01-12]: <input id="num" type="text" />
</div>
<br />
<div>
<button id="result">Вывести название времени года</button>
</div>
<div id="answer" />


