美文网首页
使用二分法查找数组区间值

使用二分法查找数组区间值

作者: IssunRadiance | 来源:发表于2022-03-30 11:47 被阅读0次

    项目中的商品是多价格的,根据用户输入的不同数量,需要去匹配当前数量所对应的金额

    后台数据返回格式
    goods_many_prices: [
      { id: 13601, num: 100, selling_price: "38.00"},
      { id: 13602, num: 200, selling_price: "33.00"},
      { id: 13603, num: 500, selling_price: "26.00"},
      { id: 13604, num: 1000, selling_price: "20.00"},
    ]
    

    假如用户输入的数量为300的时候,匹配的单价应该为33.00, 因为用户输入的数量还没有到达下个档位,所以取前一个价格

    方法
    searchSection(arr, val) {
      let result = [];
      for (let item of arr) {
        if (val >= item.num) {
          result.push(item);
        }
      }
      return result[result.length - 1];
    },
    
    // 第一个参数传入多价格的数组, 第二个参数传入用户输入的数量
    this.searchSection(goods_many_prices, nums);
    
    // 返回结果为
    console.log(this.searchSection(goods_many_prices, 600);)
    // { id: 13603, num: 500, selling_price: "26.00"}
    

    相关文章

      网友评论

          本文标题:使用二分法查找数组区间值

          本文链接:https://www.haomeiwen.com/subject/cjbijrtx.html