Udacity 问题前端 nanodegree 问题条件

Udacity question front end nanodegree question-conditionals

我会在 Udacity 的论坛上 post 这个,但是 类 还没有为新的队列正式开放。我想知道你是否可以帮我解决我正在参加的测验的以下问题。这些是方向:

路线: 冰淇淋是地球上最多才多艺的甜点之一,因为它可以有多种不同的做法。使用逻辑运算符,编写一系列复杂的逻辑表达式,仅当满足以下条件时才打印:

如果口味设置为香草或巧克力并且 如果容器设置为锥形或碗状,并且 如果浇头设置为洒水或花生 如果以上条件成立,则打印出:

我想要 __________ 和 __________ 的 __________ 两勺冰淇淋。 用冰淇淋、器皿和浇头的味道填空。例如,

我想要两勺香草冰淇淋加花生。 提示:确保使用不同的值测试您的代码。例如,

如果 flavor 等于 "chocolate",vessel 等于 "cone",toppings 等于 "sprinkles",那么 "I'd like two scoops of chocolate ice cream in a cone with sprinkles." 应该打印到控制台。

这是我的代码,它不应该向控制台打印任何内容:

    var flavor = "strawberry";
var vessel = "cone";
var toppings = "cookies";

// Add your code here
if (flavor === ("vanilla" || "chocolate") && (vessel === 'cone' || 'bowl') && toppings === ("sprinkles" || "peanuts")) {
    console.log("I\'d like two scoops of " + flavor + " ice cream in a " + vessel + " with " + toppings + ".");
}

我收到此错误消息:

进展顺利 - 你的代码应该有可变的风格 - 你的代码应该有一个变量 vessel - 你的代码应该有一个可变的浇头 - 你的代码应该有一个 if 语句 - 你的代码应该使用逻辑表达式

哪里出了问题

我在这里不知所措,将不胜感激。 谢谢

您需要比较每个值而不是短路第一个真值。

不要忘记在 OR 部分使用括号,因为运算符优先级为 logical AND && over logical OR ||

(flavor === "vanilla" || flavor === "chocolate") && ...
var flavor = "strawberry";
var vessel = "cone";
var toppings = "cookies";

// Add your code here
if (flavor === "vanilla" || flavor === "chocolate") && 
(vessel === "cone" || vessel === "bowl") && 
(toppings === "sprinkles" || toppings === "peanuts")) {
    console.log("I\'d like two scoops of " + flavor + 
" ice cream in a " + vessel + " with " + toppings + ".");
}