最近需求遇到了个问题,不等式用字符串存放在数据库中,我在页面输入一个数,然后与数据库中的不等式去匹配,匹配到的时候去value值。。想了想,用区间来表示不等式,然后通过split解析出需要的数据,再进行比较。下面是我简单的写的例子,可直接运行查看结果。
var datas = [
{
"name":'(0,59]',"value":'1.0'
},{
"name":'[60,99]',"value":'1.1'
},{
"name":'[100,149]',"value":'1.2'
},{
"name":'[150,N+)',"value":'1.3'
}];
var num = "149";
if(num>0){
console.log(datas.length);
for(var i=0;i<datas.length;i++){
var data = datas[i];
var smallValue = parseInt(data.name.split(",").shift().split("[").pop().split("(").pop());
var bigValue = parseInt(data.name.split(",").pop().split("]").shift().split(")").shift());
if(isNaN(bigValue)){
if(smallValue <= num){
console.log("true");
console.log(data.value);
}
}else{
if(smallValue<=num && bigValue>=num){
console.log("true");
console.log(data.value);
}
}
}
}