Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查多个整数范围时替换多个if语句_Javascript_If Statement_Switch Statement - Fatal编程技术网

Javascript 检查多个整数范围时替换多个if语句

Javascript 检查多个整数范围时替换多个if语句,javascript,if-statement,switch-statement,Javascript,If Statement,Switch Statement,我想通过删除所有那些if语句来简化这段代码,如果可能的话,可以使用单个函数和/或所有可以用来删除那些if重复出现的语句 我需要检查多个整数范围,根据用户分数,我需要设置两个变量 这是我的代码: if (userScore <= 40) { object.setMinValue(0); object.setMaxValue(40); } if (userScore > 40 && userScore <= 65) { object.set

我想通过删除所有那些
if语句来简化这段代码,如果可能的话,可以使用单个函数和/或所有可以用来删除那些if重复出现的语句

我需要检查多个整数范围,根据用户分数,我需要设置两个变量

这是我的代码:

if (userScore <= 40)
{
    object.setMinValue(0);
    object.setMaxValue(40);
}

if (userScore > 40 && userScore <= 65)
{
    object.setMinValue(41);
    object.setMaxValue(65);
}

if (userScore > 65 && userScore <= 85)
{
    object.setMinValue(66);
    object.setMaxValue(85);
}

if (userScore > 85 && userScore <= 95)
{
    object.setMinValue(86);
    object.setMaxValue(95);
}

if (userScore > 95 && userScore <= 100)
{
    object.setMinValue(96);
    object.setMaxValue(100);
}

if(userScore 40&&userScore 65&&userScore 85&&userScore 95&&userScore首先,在javascript中对变量名使用
object
不是很好。我使用的是“o”。 从您的代码中可以看出,代码块中的值可以从条件语句中派生:

var scoreLimits = [0,40,65,85,95,100];

for(var i = 1; i < scoreLimits.length; i++)
{
    var limit = scoreLimits[i];
    if ( userScore <= limit )
    {
        o.setMinValue(scoreLimits[i-1]);
        o.setMaxValue(limit);
        break;
    }
}
var评分限制=[0,40,65,85,95100];
对于(变量i=1;iif(此处不能使用userScore开关语句,因为您有范围,而不是固定值。您好,George,在我的原始代码中,我没有使用“object”,而是使用其他变量名,但在发布问题时,我将其替换为该变量名。感谢您的回答:-)
var mapper = {};
for(var i = 0; i < scoreLimits.length - 1; i++)
{
    var limits = { minValue : scoreLimits[i], maxValue : scoreLimits[i+1] };
    for (var j = scoreLimits[i] + 1; j <= scoreLimits[i + 1]; j++)
    {
        mapper[j] = limits;
    }
}