转换if else切换语句

时间:2017-12-11 08:09:11

标签: javascript image if-statement switch-statement photo

这是我到目前为止创建的代码,但它无效。我只是一个初学者,我们正在创造这个"猜你的生肖"代码作为我们学校的作品之一。

请帮我改变代码的错误:((

另外(对不起,如果我要求太多东西)如何在每种情况下插入照片,以便每个星座都有照片?

@get:Throws(IOException::class)

1 个答案:

答案 0 :(得分:1)

caseif(/else)声明不同。

switch/case块可用于检查单个变量的不同值。

您的条件包含多个变量,因此switch/case块甚至不可能(/实用)。

也就是说,如果您更好地构建数据,可以优化此代码

var zodiacs = [
  { sign: "PISCES", monthA: "February", monthB: "March", dayA: 19, dayB: 20 },
  { sign: "ARIES", monthA: "March", monthB: "April", dayA: 21, dayB: 19 },
  { sign: "TAURUS", monthA: "April", monthB: "May", dayA: 20, dayB: 20 },
  // etc
];

var zodiacmonth = prompt("Please insert your birthMONTH; if your birthday is on January 11, insert January");
var zodiacday = prompt("Please insert birthDAY; if your birthday is on January 11, insert 11")

var zodiac = zodiacs.filter(function(z){
  return zodiacmonth == z.monthA && zodiacday >= z.dayA ||
    zodiacmonth == z.monthB && zodiacday <= z.dayB;
})[0]

console.log(zodiac);

window.confirm ("Your zodiac sign is " + zodiac.sign);

使月份比较不区分大小写可能也很有用:

zodiacmonth = zodiacmonth.toLowercase();
// and
{ sign: "PISCES", monthA: "february", monthB: "march", dayA: 19, dayB: 20 },   
//                         ^                   ^