2021-06-15 07:49:18 +00:00
---
id: 56533eb9ac21ba0edf2244dd
2021-07-21 15:23:20 +00:00
title: Selecionar entre várias opções com instruções switch
2021-06-15 07:49:18 +00:00
challengeType: 1
videoUrl: 'https://scrimba.com/c/c4mv4fm'
forumTopicId: 18277
dashedName: selecting-from-many-options-with-switch-statements
---
# --description--
2021-07-29 16:41:44 +00:00
Se você possui muitas opções pra escolher, use uma instrução < dfn > switch</ dfn > . Uma instrução `switch` testa um valor e pode ter muitas instruções < dfn > case</ dfn > as quais definem os diversos valores possíveis. As instruções são executadas desde o primeiro `case` correspondente até que seja encontrado um `break` .
2021-06-15 07:49:18 +00:00
2021-07-14 15:32:51 +00:00
Aqui está um exemplo de uma instrução `switch` :
2021-06-15 07:49:18 +00:00
```js
switch(lowercaseLetter) {
case "a":
console.log("A");
break;
case "b":
console.log("B");
break;
}
```
2021-07-29 16:41:44 +00:00
Valores `case` são testados com o operador de igualdade estrita (`===`). O `break` diz ao JavaScript parar interromper a execução das instruções. Se o `break` for omitido, a próxima instrução case será executada.
2021-06-15 07:49:18 +00:00
# --instructions--
2021-07-14 15:32:51 +00:00
Escreva uma instrução switch que testa `val` e define `answer` para as seguintes condições:
2021-06-15 07:49:18 +00:00
`1` - `alpha`
`2` - `beta`
`3` - `gamma`
`4` - `delta`
# --hints--
2021-07-14 15:32:51 +00:00
`caseInSwitch(1)` deve ter o valor da string `alpha`
2021-06-15 07:49:18 +00:00
```js
assert(caseInSwitch(1) === 'alpha');
```
2021-07-14 15:32:51 +00:00
`caseInSwitch(2)` deve ter o valor da string `beta`
2021-06-15 07:49:18 +00:00
```js
assert(caseInSwitch(2) === 'beta');
```
2021-07-14 15:32:51 +00:00
`caseInSwitch(3)` deve ter o valor da string `gamma`
2021-06-15 07:49:18 +00:00
```js
assert(caseInSwitch(3) === 'gamma');
```
2021-07-14 15:32:51 +00:00
`caseInSwitch(4)` deve ter o valor da string `delta`
2021-06-15 07:49:18 +00:00
```js
assert(caseInSwitch(4) === 'delta');
```
2021-07-14 15:32:51 +00:00
Você não deve usar nenhuma instrução `if` ou `else`
2021-06-15 07:49:18 +00:00
```js
assert(!/else/g.test(code) || !/if/g.test(code));
```
2021-07-14 15:32:51 +00:00
Você deve ter pelo menos 3 instruções `break`
2021-06-15 07:49:18 +00:00
```js
assert(code.match(/break/g).length > 2);
```
# --seed--
## --seed-contents--
```js
function caseInSwitch(val) {
2021-10-27 15:10:57 +00:00
let answer = "";
2021-06-15 07:49:18 +00:00
// Only change code below this line
// Only change code above this line
return answer;
}
caseInSwitch(1);
```
# --solutions--
```js
function caseInSwitch(val) {
2021-10-27 15:10:57 +00:00
let answer = "";
2021-06-15 07:49:18 +00:00
switch(val) {
case 1:
answer = "alpha";
break;
case 2:
answer = "beta";
break;
case 3:
answer = "gamma";
break;
case 4:
answer = "delta";
}
return answer;
}
```