js按区间选择数据

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

  

转载于:https://www.cnblogs.com/Doduo/p/8358757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值