4.4 KiB
title, localeTitle
| 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.