我有很多if else语句,都根据条件改变对象的值。我想知道是否有另一种方法来编写此代码,因此它可以压缩/简化,并且不会占用太多空间。我有以下代码:
if (inputOne == "Yes") {
inputOne = "517"
} else {
inputOne = "518"
}
if (inputTwo == "Yes") {
inputTwo = "518"
} else{
inputTwo = "519"
}
if (inputThree == "Yes") {
inputThree = "519"
} else {
inputThree = "520"
}
if (inputFour == "Yes") {
inputFour = "520"
} else {
inputFour = "521"
}
等等......我将根据输入改变多个对象的值。有没有其他方法可以在JavaScript中编写这个可以节省时间或使其看起来更干净的方法?
答案 0 :(得分:3)
首先,您可以使用ternary运算符。
inputOne = inputOne == "Yes" ? "517" : "518";
然后你可以创建一个可以重用的函数,比如......
function setInputValue(input, yes, no) {
input = input == "Yes" ? yes : no;
}
并像......一样调用它。
setInputValue(inputOne, "517", "518");
setInputValue(inputTwo, "518", "519");
答案 1 :(得分:2)
使用三元运算符可以解决这个问题。 这是JS小提琴: http://jsfiddle.net/5fbvf5vy/
Arrays