var revenue = [350,450,550,650,850,1000,1100,1250,1500]; var reward = [0,30,40,50,100,200,240,300,400]; /* 根据指定的值,在revenue查找第一个比它大的值,返回对应的索引,通过索引在reward获取对应的奖励 1:如果值小于revenue最小的值时,则奖励0。所以reward前被了个0 2:如果值大于revenue最大的值时,则奖励最高一档 ***注意*** 前提是:revenue为整型数组,且已经按照从小到大排好了序的 */ function find(array,val){ //如果值小于revenue最小的值时,则奖励0 if(val < Math.min.apply(null,array)){ return 0; }; //如果值大于revenue最大的值时,则奖励最高一档 if(val > Math.max.apply(null,array)){ return array.length-1; }; var idx = 0, i = 0, j = array.length; for(;i<j;i++){ if(array[i] > val){ idx = i; break; }; }; return idx; }; alert('奖励:'+reward[find(revenue,370)]);