freeCodeCamp/guide/russian/certifications/javascript-algorithms-and-d.../basic-javascript/selecting-from-many-options.../index.md

6.2 KiB
Raw Blame History

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, вы можете назначить ему новые значения для каждого случая и вернет ожидаемый ответ в зависимости от значения, которое вы передаете функции.

источники

1 . Описание «switch» - ссылка MDN JavaScript .