如何修改此非常好的函数以查找最接近的数字,但从不高于输入数字?

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));


任何帮助表示赞赏

最佳答案

您可以删除检查更大的部分。
另一种方法是:删除更高的值,并从剩余的值中获取最大值:

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

关于javascript - JavaScript在数组中找到最接近的数字而无需结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33309930/

10-11 21:31