exxxcitation1
@exxxcitation1
Ваше Эникейшество

Почему вариант с составным условием не отрабатывает?

Имеется задачка для чайников, в которой нужно написать код, который выводит чётные числа от 2 до 10.

Есть у меня тот вариант, который отработал:

for (let num = 2, proc = num % 2; proc == 0; ++num) {
	console.log(num);
	if (num == 10) break;
};


И вариант, который отрабатывать не захотел по неизвестным для меня причинам:

for (let num = 2; num % 2 == 0; ++num) {
	console.log(num);	
	if (num == 10) break;		
};


Вопрос: Почему составное условие не отрабатывает?
Да, в скобки заключал как по отдельности левую от сравнения часть, так и всё составное условие.
Смысла в заключении в скобки левой части нет, т.к. приоритет % меньше, чем у знака =.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 3
@artuh_a
let num = 2; num % 2 == 0 - у вас цикл доходит только до 2

Попробуйте так:
for (let num = 1; num <= 10; num++) {
	if (num % 2 === 0) {
  	console.log(num);
  }	
};
Ответ написан
@Arik
for (A, A2; B; C)

A* - вычисляется только при запуске цикла
B - на каждую итерацию
С - после каждой итерации, первый раз будет только если B верно.
Ответ написан
v3shin
@v3shin
Веб-шаман
for (let num = 2; num <= 10; num += 2) {
  console.log(num);
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы