6.2 KiB
title | localeTitle |
---|---|
Selecting from Many Options with Switch Statements | Выбор из многих параметров с помощью операторов Switch |
Выбор из многих параметров с помощью операторов Switch
Если у вас есть много вариантов на выбор, используйте оператор switch
. Оператор switch
проверяет значение и может иметь множество операторов case
которые определяют различные возможные значения. Заявления выполняются из первого совпадающего значения case
до тех пор, пока не будет обнаружен break
.
Вот пример псевдокода:
switch(num) {
case value1:
statement1;
break;
case value2:
statement2;
break;
...
case valueN:
statementN;
break;
}
Немного больше объяснений
Оператор switch сначала оценивает свое выражение. Затем он ищет предложение первого case
, выражение которого оценивается с тем же значением, что и результат входного выражения (используя строгое сравнение , ( ===
) и передает управление этому предложению, выполняя связанные операторы (если несколько совпадений совпадают предоставленное значение, выбирается первый случай, который соответствует, даже если случаи не равны друг другу.)
Если case
не найден, программа ищет необязательное предложение по default
, и если оно найдено, передает управление этому предложению, выполняя связанные операторы. Если предложение по default
не найдено, программа продолжает выполнение в инструкции после окончания switch
. По соглашению, предложение по default
является последним предложением, но это не обязательно так.
Необязательный оператор break
связанный с каждым ярлыком case, гарантирует, что программа выйдет из коммутатора после выполнения согласованного оператора и продолжит выполнение в операторе следующего коммутатора. Если break
пропущен, программа продолжает выполнение в следующем выражении в инструкции switch
. 1
Проблема Объяснение:
Напишите оператор switch, который проверяет val
и устанавливает answer
для следующих условий:
1
- «альфа»,2
- «бета»,3
- «гамма»,4
- «дельта».
Подсказка 1
Помните, что значения case
проверяются со строгим равенством ( ===
).
Попробуйте решить проблему сейчас!
Подсказка 2
Не видите «следующие условия» как упорядоченный список, как он выглядит в оригинальной демонстрации freeCodeCamp, но как значения и инструкции, как показано здесь
Попробуйте решить проблему сейчас!
Осторожно, спойлеры!
Вы полностью уверены, что хотите посмотреть? ...
Решение базового кода
function caseInSwitch(val) {
var answer = "";
// Only change code below this line
switch(val) {
case 1:
return "alpha";
break;
case 2:
return "beta";
break;
case 3:
return "gamma";
break;
case 4:
return "delta";
break;
}
// Only change code above this line
return answer;
}
// Change this value to test
caseInSwitch(1);
Обозначение кода
Обычно игнорируется, что значения case
проверяются со строгим равенством с любой потребностью другого выражения, например: case === value
Альтернативное решение для кода:
function caseInSwitch(val) {
var answer = "";
// Only change code below this line
switch (val){
case 1:
answer="alpha";
break;
case 2:
answer="beta";
break;
case 3:
answer="gamma";
break;
case 4:
answer="delta";
break;
}
// Only change code above this line
return answer;
}
// Change this value to test
caseInSwitch(1);
· Запустить код в repl.it.
Обозначение кода
Поскольку у вас уже есть переменная, определенная в начале функции с именем answer
и она определена как последний оператор return, вы можете назначить ему новые значения для каждого случая и вернет ожидаемый ответ в зависимости от значения, которое вы передаете функции.