在else if语句中添加多个参数?

时间:2014-04-07 00:15:31

标签: javascript

让我更详细地解释一下,我正在为我的数学老师做一个小草图,它将计算三角形的缺失边和角度。我有if / else / else if语句,但我想要一个else if语句,如果其他语句都不成立,将输出类似“Check spelling”的内容。基本上,我想要的东西会做这样的事情(请记住我还不知道如何编程)

// More code above
else if (side != "hypotenuse and adjacent"; "hypotenuse and opposite"; "opposite and adjacent") {
    confirm("Please check spelling.");
}

你能看到我想做什么吗?前一个变量称为side,它会提示用户输入它们所具有的三角形的哪一边,因此草图可以计算出角度。如果他们有拼写错误并且它与我设置的任何参数都不匹配怎么办?如果它们不匹配,我将如何使它跟随这段代码呢?我可能在这里过于复杂,但如果有人能告诉我如何做到这一点,我们将非常感激

4 个答案:

答案 0 :(得分:1)

您可以尝试indexOf

 possibilities = ["hypotenuse and adjacent", "hypotenuse and opposite", "opposite and adjacent"]

 // so if side not in that array (the same as not in any of that values)
 if (possibilities.indexOf(side) == -1) {}

答案 1 :(得分:0)

如果没有其他人匹配,你是否要求提供默认声明?这不是一个正常的其他声明吗? else{//what you want here}

答案 2 :(得分:0)

我能想到的最简单的方法是使用ifelse ifelse。通过最后使用else,您不需要为之前的所有内容写一张巨大的支票。

if (A) { A is true } else if (B) { Not A, but B } else if (C) { Not A or B, but C } else { Not A, B or C }

更好的方法是使用switch/casehere

switch(n) { case A: A is true break; case B: B is true break; default: Not A or B }

但是,如果您只想最后检查"拼写检查",我会说@zishe对此有一个很好的答案。

答案 3 :(得分:0)

最简单的方法是使用jQuery函数:

$.inArray(value, array)

如果字符串可以在数组内找到,则返回正索引,否则返回-1。所以解决方案应该是这样的:

var myArray = ["hypotenuse and adjacent", "hypotenuse and opposite", "opposite and adjacent"];

// more code above
else if($.inarray(side, myArray) == -1) {
    confirm("Please check spelling.");
}