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;i if(此处不能使用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;
}
}