#javascript #if-statement #conditional-statements
#язык JavaScript #если-заявление #условные утверждения
Вопрос:
У меня есть такое условие, я хочу, чтобы первое условие if не имело никакой реакции, если вы снова выполните это условие во второй раз, дайте ему реакцию, более или менее похожую на пример в приведенном ниже коде.
var x = -1; if( x lt; 0){ console.log("is okay") }if( x lt; 0 AGAIN ){ console.log("is not okay") }
Комментарии:
1. Либо увеличьте
x
, либо используйте отдельный счетчик
Ответ №1:
добавление новой переменной может решить эту проблему:
var x = -1; var isFirstTime = true; if( x lt; 0 amp;amp; isFirstTime == true){ console.log("is okay"); isFirstTime = false; }if( x lt; 0 amp;amp; isFirstTime == false){ console.log("is not okay"); }
Ответ №2:
Используйте переменную флага и инициализируйте ее true
, когда она встретит первое отрицательное значение (x lt; 0), выведите ok
и установите флаг false
. В следующий раз, когда он получит отрицательное значение и флаг будет false
напечатан not ok
.
var x = -1; var firstTime = true; if( x lt; 0){ if (firstTime){ console.log("is okay"); firstTime = false; } else { console.log("is not okay") } }
Вот тестовый пример:
var firstTime = true; test_list = [1,-1,2,5,-1,6] for (let i in test_list){ x=test_list[i] console.log(x) if( x lt; 0){ if (firstTime){ console.log("is okay"); firstTime = false; } else { console.log("is not okay") } } }
Выход:
1 -1 "is okay" 2 5 -1 "is not okay" 6