请检查下面的代码
if( x > 10 && x <= 100 ){
do.something(1)
}
else if ( x > 100 && x <= 1000 ) {
do.something(2)
}
else if ( x > 1000 && x <= 10000 ) {
do.something(3)
}
else if ( x > 10000 && x <= 100000 ) {
do.something(4)
}
注意:这些范围可能不一致,例如100-200、345-956、1000-1200
答案 0 :(得分:1)
您可以获取一个数组,并使用Array#some
的支撑电路查找范围。
var value = 300;
values = [
[10, () => undefined],
[100, () => do.something(1)],
[1000, () => do.something(2)],
[10000, () => do.something(3),
[100000, () => do.something(4)]
];
values.some(([v, f]) => {
if (value <= v) {
f();
return true;
}
});
答案 1 :(得分:0)
这将使其可配置。
const cond = [
{min: 10, max: 100, val: 1},
{min: 100, max: 1000, val: 2},
{min: 1000, max: 10000, val: 3},
{min: 10000, max: 100000, val: 4},
]
do.something(cond.filter(c => x > c['min'] && x < c['max'])[0]['val'])
答案 2 :(得分:-1)