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)]);