JS 如何判断一个数字在某一个区间内

JavaScript010

JS 如何判断一个数字在某一个区间内,第1张

现在有两个数组

var revenue = new Array([350],[450],[550],[650],[850],[1000],[1100],[1250],[1500])

var reward = new Array([30],[40],[50],[100],[200],[240],[300],[400])

如果收入大于350 小于 450 那么就奖励30

如果收入大于450小于550,就奖励50

要实现的效果跟Excel中的VlookUP函数比较像,想问下各位朋友,JS中如何有没有类似的函数,或者怎么写最有效的判断语句。

var test = function(arr,num){for(var i=0i<arr.lengthi++){if(arr[i]>num){return i-1 }}}test([0,218,325],220)

(10,20)(20,30)如果只是判断有交叉的到也简单

(10,20)-的大小 20-10=10

(20,30)大小30-20=10

(10,20)(20,30)大小30-10=20

现在10+10=20,ok,他们没有交叉

验证:

(10,20)(19,30)

| |

10 11

(10+11)>(30-10)

ok他们有交叉

其实,我的想法很简单,既然是区间了,他就有个界限,你可以用他的界限来看看他是处在哪个区间,或者说是那几个区间之间。

判断(x,y)有没有跟其他的区间交叉,

如果x<10,说明他肯定没有跟(10,20)交叉,也不会跟区间左界限>10的区间交叉,

如果x>10说明他有可能跟(10,20)交叉,当然还要看y的大小了,

总之,就是比较x,y 跟几个区间界限的大小,这样就能判定他跟几个区间的交叉。

在这里,还是要好好的考虑一下怎样比较下来,比较的节省时间。