Javascript在数组中找到最接近的数字,而不需要重复
Javascript find closest number in array without going over
我如何修改这个非常好的函数来找到最接近的数字,但永远不会高于输入?
function closest(arr, closestTo){
var closest = Math.max.apply(null, arr);
for(var i = 0; i < arr.length; i++){
if(arr[i] >= closestTo && arr[i] < closest) closest = arr[i];
}
return closest;
}
console.log(closest(myArray, 1234));
感谢您的帮助
您可以删除检查greater的部分。另一种方法是:删除较大的值,并从剩余的值中获取最大值:
function closest(arr,val){
return Math.max.apply(null, arr.filter(function(v){return v <= val}))
}
console.log(closest([1,22,121223],24)) // prints 22
删除greater than
比较器:
if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- 不需要的JSON响应
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery自动完成显示不需要的动态html标记
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AngularJs正在解码HTML字符(不需要)
- jQuery regex从文本链接-添加不需要的域到链接
- 防止从浏览器到应用商店的不需要的重定向
- 外部解析RSS提要,不需要像谷歌和服务器端那样的任何库
- 不需要的异步事件调度
- 是否有任何不需要后端的验证码角度指令
- Javascript在数组中找到最接近的数字,而不需要重复
- 在数字上添加破折号而不需要很多行代码
- Javascript regex表示字符串开头不需要的数字
- ScriptBundle+Optimization返回不需要的数字
- dom events-在JavaScript中获得两个小数位,不需要四舍五入到下一个较大的数字