javascript - 多个 'If' 语句?

标签 javascript math if-statement formula

假设我有一个函数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/

相关文章:

javascript - 如何使用javascript将jpg图像转换为png

javascript - 如何用键盘和鼠标同时控制相机 - three.js

javascript - 打字时暂停音频,停止时播放

php - MySQL IF 语句动态更改值?

javascript - 使用方法名称作为实例变量的值

algorithm - 如何按数值对数字进行排名?

javascript - 将一个对象结果传递给另一个对象函数,如链

c - 模数运算符与零(重新 : arc4random_uniform source)

python - 如何在 IF 语句后重复两个相同的过程?

javascript - 我的 if 语句是否忽略了我的条件?