Explicador de Comida casera
Objetivo de este acertijo: Actualizar la variable found
cuando encuentres tu comida favorita en el menú.
Tutorial de la solución: La función askServer
toma un string que es el nombre de tu comida favorita. Luego, crea una variable llamada found
, que representa si encontraste o no el nombre de tu comida favorita en el menú. Dado que la función aún no verifica el menú, el valor de found
debe comenzar como false
.
El for…of loop pasará por cada entrada del menú. Toma la primera entrada y la almacena en la variable llamada element
. Luego, va a la if statement que verifica si tu favorite
es el mismo que la entrada del menú que mantiene ahora (element
). Si no son iguales, entonces esa if statement se omite y el for…of loop toma el siguiente elemento en el menu
y lo almacena en la variable element
Sigue haciendo lo mismo con cada elemento en el menu
.
Si en algún momento, el element
es igual a tu favorite
, significa que tu favorite
está en el menu
y debes definir la variable found
en true
. Después de eso, si hay más elementos en el menú, seguirá verificándolos.
Una vez que todos los elementos del menú se hayan verificado, se mueve a la segunda if statement que revisa la variable found
. Si pudieras verificar todos los elementos en el menú sin cambiar nunca la variable found
a true
, entonces seguiría siendo false
y eso significa que tu comida favorita no está en el menú.
Solución del código de ejemplo:
(Pulsa a continuación 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');
Conceptos de JavaScript: operadores aritméticos (concatenación +), asignaciones, expresión binaria (+), bloque de código (función, for loop)
Conceptos de Grasshopper: print()
Código adicional (código oculto que se ejecuta antes del código del acertijo):
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'];