javascript - 具有多个条件的 JS 三元函数?

标签 javascript if-statement conditional ternary-operator

我一直在 JavaScript 中使用三元运算符来根据用户输入修改对象的值。我有以下代码,它应该运行:

var inputOneAns = inputOne == "Yes" ? "517" : "518";

如您所见,无论用户输入的是"is"还是“否”,我都将一个数字字符串值分配给 inputOneAns。但是,可能存在用户未选择值的情况(因为它不是必需的)。如果此输入留空,我想将一个空字符串“”分配给 inputOneAns。有没有办法或我将一个三元运算符嵌入另一个三元运算符?为了帮助澄清,这里是我想用我的三元函数但用 if else 语句完成的相同函数?

if (inputOne == "Yes"){
    var inputOneAns = "517"
}else if (inputOne == "No"{
    var inputOneAns = "518"
}else{
    var inputOneAns = ""
}

是否可以将多个表达式包含到一个三元函数中?有没有更好的方法来完成我正在寻找的东西?提前感谢您的提示。

最佳答案

是的,你可以疯狂地嵌套三元组。我发现这个版本相当可读:

var foo = (
  bar === 'a' ? 1 : // if 
  bar === 'b' ? 2 : // else if 
  bar === 'c' ? 3 : // else if
  null // else 
);

但这并不是一个广泛认同的观点,在团队中工作时,您可能应该坚持使用 if/elseswitch

关于javascript - 具有多个条件的 JS 三元函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45022445/

相关文章:

javascript - 仅在需要时加载 javascript 函数

oracle - 有条件地定义一个游标

Excel:将单元格的颜色设置为另一个

java - 猜谜游戏又玩麻烦了

javascript - 您如何使else语句什么都不做?

javascript - JS点击事件取决于div宽度

syntax-error - 使用条件信号分配时的VHDL小错误(当…其他时)

javascript - 无法读取未定义的属性“主体”

javascript - 网页中的图像出现一小段时间然后消失

javascript - Google Maps v3 多边形、多段线交点