Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在数组中查找最接近的数字,而不进行遍历_Javascript_Arrays - Fatal编程技术网

Javascript在数组中查找最接近的数字,而不进行遍历

Javascript在数组中查找最接近的数字,而不进行遍历,javascript,arrays,Javascript,Arrays,我如何修改这个非常好的函数,以找到最接近的数字,但决不高于输入值 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; }

我如何修改这个非常好的函数,以找到最接近的数字,但决不高于输入值

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));
功能最近(arr,closestTo){
var最近值=数学最大值应用(null,arr);
对于(变量i=0;i=closestTo&&arr[i]

感谢您的任何帮助

删除
大于
比较器:

if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
if(arr[i]==closestTo&&arr[i]
移除
大于
比较器:

if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
if(arr[i]==closestTo&&arr[i]
移除
大于
比较器:

if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
if(arr[i]==closestTo&&arr[i]
移除
大于
比较器:

if(arr[i] == closestTo && arr[i] < closest) closest = arr[i];
if(arr[i]==closestTo&&arr[i]
您可以卸下检查更大尺寸的零件。 另一种方法是:删除较高的值,并从其余值中获取最大值:

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
功能最近(arr、val){

return Math.max.apply(null,arr.filter)(函数(v){return v您可以删除检查更大值的部分。 另一种方法是:删除较高的值,并从其余值中获取最大值:

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
功能最近(arr、val){

return Math.max.apply(null,arr.filter)(函数(v){return v您可以删除检查更大值的部分。 另一种方法是:删除较高的值,并从其余值中获取最大值:

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
功能最近(arr、val){

return Math.max.apply(null,arr.filter)(函数(v){return v您可以删除检查更大值的部分。 另一种方法是:删除较高的值,并从其余值中获取最大值:

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
功能最近(arr、val){

return Math.max.apply(null,arr.filter(function(v){return v@m-el-set,但需要确保给定的输入不小于数组中的所有元素。因此,如果arr=[30,40,50],如果调用最近的(arr,10),则会出现异常@HoumamWazzeh实际上,它将返回无穷大。是的,没有找到任何元素的行为应该是added@m-el设置,但您需要确保给定的输入不小于数组中的所有元素。因此,如果arr=[30,40,50],则如果调用最近的(arr,10),则会出现异常@HoumamWazzeh实际上,它将返回无穷大。是的,没有找到任何元素的行为应该是added@m-el设置,但您需要确保给定的输入不小于数组中的所有元素。因此,如果arr=[30,40,50],则如果调用最近的(arr,10),则会出现异常@HoumamWazzeh实际上,它将返回无穷大。是的,没有找到任何元素的行为应该是added@m-el设置,但您需要确保给定的输入不小于数组中的所有元素。因此,如果arr=[30,40,50],则如果调用最近的(arr,10),则会出现异常@HoumamWazzeh实际上,它将返回无穷大。是的,应该添加没有找到任何元素的行为