В чем ошибка, почему выполняется только первое условие?

213
06 октября 2018, 22:50

let n = prompt("Число ворон?", 15); 
console.log("n=",n); 
let a; 
if (n = 1) { 
  a = "а"; 
  alert(`На ветке сидел${a} ${n} ворон${a}`); 
} else if (n >= 2 && n < 5) { 
  a = "ы"; 
  alert(`На ветке сидело ${n} ворон${a}`); 
} else if (n = 5 && n <= 20) { 
  alert(`На ветке сидело ${n} ворон`); 
}

Answer 1

let n = +prompt("Число ворон?", 15); 
let a1 = "", a2 = ""; 
let n1 = n % 10, n10 = n % 100; 
if ((n10 >= 11 && n10 <= 19) || (n1 >= 5 && n1 <= 9) || (n1 == 0)) { 
  a1 = "о"; 
  a2 = ""; 
} else if (n1 == 1) { 
  a1 = "a"; 
  a2 = "a"; 
} else if (n1 >= 2 && n1 < 5) { 
  a1 = "и"; 
  a2 = "ы"; 
} 
alert(`На ветке сидел${a1} ${n} ворон${a2}`);

Answer 2

Потому, что в первом условии не сравнивается ==, а сразу присваивается n = 1.

READ ALSO
Как обработать многомерный массив в js?

Как обработать многомерный массив в js?

есть массив filesArr которые содержит в себе элементы по порядку

153
Перевод секунд в формат HH:MM:SS

Перевод секунд в формат HH:MM:SS

Нужна строка в формате часы:минуты:секунды Подскажите алгоритм перевода секунд в такой формат или для этого есть методы?

205
jQuery, как вернуть json из $.post() в функцию

jQuery, как вернуть json из $.post() в функцию

Напишите пожалуйста человеческим языков как получить json ответ из $post() ?

191
js/jqyery библиотека для форматирования html в textarea?

js/jqyery библиотека для форматирования html в textarea?

Нужно вывести в textarea кусок html разметки тестомПри этом разметка приходит с сервера в виде неформатированной строки

153