我正在使用5个选项:O,R,1,2,3。我的功能是尝试将O和R转换为数字等价物,同时保留数值。我尝试了这两种方式,但两种方式都没有。这是我尝试它的第一种方式。它根本不会改变任何值。
function Level2Number (Level) //changes level R and O to numbers
{
switch (Level)
{
case (Level == "R"):
return 0
break;
case (Level == "O"):
return .5
break;
default:
return Level
break;
}
}
当我以下一种方式尝试时,它正在用O和R做我想要的但是我用字母O代替1,2和3。
function Level2Number(Level)//将等级R和O更改为数字以便进一步计算.// { 开关(等级) { case(Level =“R”): 返回0 打破;
case (Level = "O"):
return .5
break;
default:
return Level
break;
}
}
我不知道该如何离开这里。
答案 0 :(得分:1)
这不起作用,因为逻辑表达式(由括号表示)评估为'true'的'true'。你的'Level'变量不是Boolean类型(既不是'true'也不是'false'),所以你总是会遇到默认情况。
使用以下表示法
switch(Level) {
case "R":
return 0;
default:
return Level;
}
顺便说一句,在'return'之后放'break'完全是多余的。