猿问

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

例如输入L = 200 返回数组中的 ip-5


var 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]


]


拉丁的传说
浏览 586回答 2
2回答

料青山看我应如是

根据 数组设置一个对象 即是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())))}

杨__羊羊

这样首先你的数组中的值,做好是排过顺序的,然后根据二分法 进行查找比较
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答