求大神教我处理一下
现在有一个数组,里面有阶梯的数字,类似下图 然后用户输入一个数字,如何拿到这个数组里面,距离这个数字最近的数字! 谢谢!!!
3 回复
// 需要查找的数组
const originalArr=[ 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200 ]
// 需要比对的数
const num=550
// 找到距离最近的数字
// 如果有距离相等的两数,取小的
Array.from(originalArr).sort((a,b)=>Math.abs(a-num)-Math.abs(b-num))[0] // 输出500
// 如果有距离相等的两数,取大的
Array.from(originalArr).sort((a,b)=>Math.abs(b-num)-Math.abs(a-num)).pop() // 输出600