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

4.4 KiB

title localeTitle
Selecting from Many Options with Switch Statements Selecionando a partir de muitas opções com instruções de troca

Selecionando a partir de muitas opções com instruções de troca

Se você tiver muitas opções para escolher, use uma instrução switch . Uma instrução switch testa um valor e pode ter várias instruções case que definem vários valores possíveis. As declarações são executadas a partir do primeiro valor do case correspondente até que uma break seja encontrada.

Aqui está um exemplo de pseudocódigo:

  switch(num) { 
    case value1: 
      statement1; 
      break; 
    case value2: 
      statement2; 
      break; 
    ... 
    case valueN: 
      statementN; 
      break; 
  } 

Um pouco mais de explicação

Uma instrução switch primeiro avalia sua expressão. Em seguida, ele procura a cláusula do primeiro case cuja expressão é avaliada para o mesmo valor que o resultado da expressão de entrada (usando a comparação estrita , ( === ) e transfere o controle para essa cláusula, executando as instruções associadas. o valor fornecido, o primeiro caso correspondente é selecionado, mesmo que os casos não sejam iguais entre si.

Se nenhuma cláusula case correspondente for encontrada, o programa procurará a cláusula default opcional e, se encontrada, transfere o controle para essa cláusula, executando as instruções associadas. Se nenhuma cláusula default for encontrada, o programa continuará a execução na instrução após o final do switch . Por convenção, a cláusula default é a última cláusula, mas não precisa ser assim.

A instrução de break opcional associada a cada rótulo de caso assegura que o programa rompe o comutador quando a instrução correspondente é executada e continua a execução na instrução após o comutador. Se break for omitido, o programa continua a execução na próxima instrução na instrução switch . 1

Explicação do Problema:

Escreva uma instrução switch que teste val e configure a answer para as seguintes condições:

  • 1 - "alfa",
  • 2 - "beta",
  • 3 - "gama",
  • 4 - "delta".

Sugestão 1

Lembre-se de que os valores de case são testados com igualdade estrita ( === ).

Tente resolver o problema agora!

Sugestão 2

Não veja as "condições a seguir" como uma lista ordenada como parece na demo freeCodeCamp original, mas como valores e instruções, como mostrado aqui

Tente resolver o problema agora!

Alerta de Spoiler!

Você está completamente certo do que você quer dar uma olhada? …

Solução básica de código

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); 

Explicação do código

É comum ignorar que os valores do case são testados com igualdade estrita com qualquer necessidade de outra expressão, da seguinte forma: case === value

Solução alternativa de código:

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); 

· Executar código no repl.it.

Explicação de código

Como você já tem uma variável definida no início da função chamada answer e ela é definida como a última instrução de retorno, você pode atribuir novos valores a ela para cada caso e retornará a resposta esperada dependendo do valor que você passa para a função.

Fontes

1 Descrição do "switch" - referência do MDN JavaScript .