我有一个像这样的 JavaScript 数组
var array1= [10,20,30,40,50];
有没有什么方法可以让我获得最接近给定数字的数组元素?例如:如果我通过 26,它应该返回 30(26 最接近 30)。如果我通过了 42,它应该返回 40。
有什么想法吗?我应该迭代每个元素吗? jQuery 中有可用的方法吗?
最佳答案
使用 for 循环很简单。不需要 jQuery 魔法:
function getClosestNum(num, ar)
{
var i = 0, closest, closestDiff, currentDiff;
if(ar.length)
{
closest = ar[0];
for(i;i<ar.length;i++)
{
closestDiff = Math.abs(num - closest);
currentDiff = Math.abs(num - ar[i]);
if(currentDiff < closestDiff)
{
closest = ar[i];
}
closestDiff = null;
currentDiff = null;
}
//returns first element that is closest to number
return closest;
}
//no length
return false;
}
关于javascript - 如何使用 jQuery 从 javascript 数组中获取最接近的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551687/