admin管理员组文章数量:1419933
How can I modify this very nice function to find the closest number but never higher than the input?
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));
Any help appreciated
How can I modify this very nice function to find the closest number but never higher than the input?
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));
Any help appreciated
Share Improve this question asked Oct 23, 2015 at 19:20 M. El-SetM. El-Set 7634 gold badges11 silver badges16 bronze badges2 Answers
Reset to default 5You could remove the part that checks for greater. Another method would be: remove higher values, and get max from remaining ones:
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
remove the greater than
parator:
if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
本文标签: Javascript find closest number in array without going overStack Overflow
版权声明:本文标题:Javascript find closest number in array without going over - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744713555a2621270.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论