假设我有一个函数checkTime,如下所示,我必须同时检查多个条件。
var result=0;
function checkTime(time1, time2) {
if (time1 >= 0 && time2 <= 0) {
result = 1;
}
else if (time1 >= 0 && time2 <= 1) {
result = 4;
}
else if (time1 >= 2 && time2 <= 3) {
result = 5;
}
else if (time1 >= 4 && time2 <= 6) {
result = 6;
}
else if (time1 >= 7 && time2 <= 9) {
result = 7;
}
else if (time1 >= 11 && time2 <= 12) {
result = 8;
}
else if (time1 >= 13 && time2 <= 15) {
result = 9;
}
else if (time1 >= 16 && time2 <= 17) {
result = 10;
}
else if (time1 >= 19 && time2 <= 20) {
result = 11;
}
return result;
}
(上面给出的例子是假设的)
我使用的功能完全有效,但是:
- 是否有更好的方法、程序或公式来替代它?(不必如此冗长或丑陋)
谢谢!
最佳答案
你可以用一个数组来表示所有的组合:
tests = [
{ time1: 0, time2: 0, result: 1 },
{ time1: 0: time2: 1, result: 4 },
...
];
for (var i = 0; i < tests.length; i++) {
if (time1 >= tests[i].time1 && time2 <= tests[i].time2) {
return tests[i].result;
}
}
关于javascript - 多个 'If' 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22523157/