为了账号安全,请及时绑定邮箱和手机立即绑定

js 输入长度可以获取最接近的值并返回 名称

js 输入长度可以获取最接近的值并返回 名称

拉丁的传说 2019-03-13 14:15:34
例如输入L = 200 返回数组中的 ip-5var arr = [["IP-1", 0]["IP-2", 13.995886423358685]["IP-3", 68.39963953170276]["IP-4", 138.76858428768008]["IP-5", 149.30208981161982]["IP-6", 834.9549765566625]["IP-7", 1090.4950690761289]["IP-8", 1247.927742934118]["IP-9", 1310.497021041034]["IP-10", 1956.925744992665]["IP-11", 2270.413239030439]["IP-12", 3337.6333001873586]]
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

根据 数组设置一个对象 即是


function (value) {

  // 设置一个 map

   const map = new Map() 

   // 设置每个 绝对值 和 name 

   arr.forEach(x => {

        const number = Math.abs(value - x[1])

        map.set(number, x[0])

    })

    // 得到 map里面最小的 value,得到名字

    return map.get(Math.min.apply(null,Array.from(map.keys())))

}


查看完整回答
反对 回复 2019-04-03
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

这样首先你的数组中的值,做好是排过顺序的,然后根据二分法 进行查找比较


查看完整回答
反对 回复 2019-04-03
  • 2 回答
  • 0 关注
  • 585 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信