Comfort Food es-419 Explainer

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'];
1 Like