【发布时间】:2019-11-15 11:08:43
【问题描述】:
有没有一种简单的方法可以满足所有可能的组合,而无需手动编写所有这些 if 语句?
var ups;
var trans;
var sat;
var kplc;
if(ups === 'false' && trans ==='true'&& sat ==='true' && kplc ==='true'){
//do something
}
if(ups === 'true' && trans ==='true'&& sat ==='true' && kplc ==='true'){
//do something
}
if(ups === 'false' && trans ==='false'&& sat ==='true' && kplc ==='true'){
//do something
}
if(ups === 'false' && trans ==='true'&& sat ==='false' && kplc ==='true'){
//do something
}
////and so forth and so forth....
【问题讨论】:
-
我只看到一个
if声明..?你的意思是每个组合都有一个吗? -
为什么是这些字符串?
-
这个问题的答案取决于需求。如果要为您的四个布尔值的每个组合发生不同的事件,那么您需要所有分支。但是,如果可以以某种方式对要采取的行动进行分组,那么答案就会不同。
-
为了减少代码,我会先将其转换为布尔值,然后说
if (!ups && trans && sat && kplc)。如果您需要将它们作为字符串,那么我认为没有比创建一些函数以使代码更具可读性更好的选择了。同样不是那么好。 -
我们无法在这里告诉您答案,尽管您提供的内容是编程的基本要素,能够通过您编写的代码找到最少必要数量的路径。如果您到目前为止发布了您的十个,我们也许可以指导您。
标签: javascript loops if-statement conditional-statements