Explicação de Comida caseira
Objetivo deste desafio: Atualizar a variável found
quando encontrar sua favorita no menu
Passo a passo da solução: A função askServer
inclui uma string que é o nome de sua comida favorita. Em seguida cria uma variável chamada found
que indica se você encontrou ou não o nome de sua comida favorita no menu. Como a função ainda não foi verificada através do menu, o valor de found
deve começar como false
.
O laço for…of passará por cada entrada do menu. Ele pega a 1ª entrada e a armazena na variável chamada element
. Em seguida, vai para a if statement que verifica se sua favorite
é a mesma da entrada do menu neste momento (element
). Se não forem iguais, então aquela if statement é ignorada e o laço for…of pega o próximo item do menu
e o armazena na variável element
. Ele continua fazendo isso com cada item do menu
.
Se em algum momento o element
for igual à sua favorite
, isso significa que sua favorite
está no menu
e você deve definir a variável found
como true
. Depois disso, se houver mais itens no menu, ele continuará verificando eles.
Quando todos os itens do menu forem verificados, o código segue para a 2ª if statement que dá uma olhada na variável found
. Se fosse possível verificar todos os itens do menu sem nunca alterar a variável found
para true
, então ainda seria false
e isso significa que sua favorita não está no menu.
Solução do código de exemplo:
(Toque abaixo para revelar)
function askServer(favorite) {
var found = false;
for (var element of menu) {
if (favorite === element) {
found = true;
console.log('We have ' + favorite);
}
}
if (found === false){
console.log('Sorry, no ' + favorite);
}
}
askServer('cake');
askServer('milk');
Conceitos de JavaScript: Operadores aritméticos (+ concatenação), Atribuições, Expressão binária (+), Bloco de código (função, laço for)
Conceitos do Grasshopper: print()
Código Adicional (código oculto executado antes do código do desafio):
var menu = ['steak','chicken','pizza','waffles','beef','cheese','bacon','corned beef','avocado','pasta','pineapple','peanut butter','hamburgers','sushi','pancakes','noodles','chocolate','blueberries','salmon','banana','ice cream','ham','oysters','mashed potatoes','soup','asparagus','sweet potato','donuts','turkey','candy','grapes','popcorn','cashew nuts','eggs','watermelon','tuna','cheese','shrimp','strawberries','artichokes','asparagus','fish','almonds','mango','meatballs','apples','lamb','sweetcorn','mushrooms','pudding','cake','salad','crab'];