Как бежать, если условно, можно встретиться дважды

#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