Что я могу сделать, чтобы код выполнялся, когда ответом является одно из нескольких условий? - PullRequest
0 голосов
/ 05 июля 2018

Я пытался сделать так, чтобы код выполнялся, когда x, определяемое подсказкой, является одним из четырех ответов. Только с одной возможностью это работает хорошо, но когда я добавляю больше, используя &&, программа ничего не делает. (В конце программы я ставлю перерыв для выполнения кода только один раз)

Это краткая версия работы программы ...

var x = prompt("Ready?");
while(x == "yes"){
 window.alert("...Example...");

break;
}

И как я хочу сделать это, но не работает ...

var x = prompt("Ready?")
while(x == "Yes" && x == "yes" && x == "yeS" && x == "YES")
 window.alert("...Example..."); 

break;
}

Как мне сделать, чтобы это работало?

Ответы [ 3 ]

0 голосов
/ 05 июля 2018

Я бы просто использовал .toLowerCase() перед сравнением, чтобы вам не приходилось иметь дело со всеми различными способами использовать заглавные буквы.

var input = prompt("Ready?");
var x = input.toLowerCase();
while( x == "yes" )
 window.alert("...Example..."); 

break;
}

Опять же, если вам нужны только yes или no в качестве параметров, я бы использовал window.confirm вместо window.prompt.

Редактировать: Хм, если вопрос в том, что ответ ДОЛЖЕН быть написан "да" одним из этих четырех способов, я бы выбрал подход с использованием массива, чтобы позже вы могли добавить другие параметры:

var allowed_answers = [ 'yes', 'Yes', 'yeS', 'YES' ];
if ( allowed_answers.includes( x ) ) {

}
0 голосов
/ 05 июля 2018

Может быть, вы пытаетесь сделать это

do{
  var x = prompt("Ready?").toLowerCase();
  //toLowerCase() method convert (YES, Yes, yeS, etc) to (yes)
  if(x === "yes"){
    //If the condition is true, the loop breaks
    window.alert("...Example...");
    break;    
  }
}while(true)
0 голосов
/ 05 июля 2018

Используйте || вместо &&, и для оператора while нет необходимости, используйте if вместо:

var x = prompt("Ready?")
if (x === "Yes" || x === "yes" || x == "yeS" || x == "YES") {
  window.alert("...Example..."); 
}

|| означает «или», то есть хотя бы одно из условий должно быть выполнено. Если вы используете «и», это означает, что все условий должны быть истинными, что не может работать.

...