Javascript 返回最低数字的数组位置(非负)
我需要返回元素最接近零的位置,而不是负数 我有4个卷大小(英寸)可用于剪切胶片。我正在尝试输入一个宽度变量并从数组元素中减去,最接近0的值将返回最佳卷大小的数组位置。我希望这有意义。谢谢Javascript 返回最低数字的数组位置(非负),javascript,arrays,Javascript,Arrays,我需要返回元素最接近零的位置,而不是负数 我有4个卷大小(英寸)可用于剪切胶片。我正在尝试输入一个宽度变量并从数组元素中减去,最接近0的值将返回最佳卷大小的数组位置。我希望这有意义。谢谢 var width = "" var rollArray = [36, 48, 60, 72] var newArray = [] for(i in rollArray){ newArray.push ((rollArray[i]) - width) }
var width = ""
var rollArray = [36, 48, 60, 72]
var newArray = []
for(i in rollArray){ newArray.push ((rollArray[i]) - width) }
alert(newArray);
返回宽度减去每个元素,现在我需要找到如何返回数组位置的最低值,以便从等效的rollArray位置获取卷大小。var width=“”
var width = 41;
var rollArray = [36, 48, 60, 72];
var closest = rollArray.filter(function(ele){return ele-width >= 0}).sort()[0];
var rollArray=[36,48,60,72]
var newArray=[]
var min=1000000//一个非常大的数字,您知道它大于(rollArray[i])-宽度)
var minIndex=-1
对于(var i=0;i0)
{
min=rollArray[i])-宽度;
minIndex=i;
}
}
警报(minIndex);
警报(新阵列);
var-width=37;
var rollArray=[36,48,60,72];
var=null;
对于(变量i=0;i=宽度)
{
如果(closest==null | | rollArray[i]注意,作为一种适当的实践,不要在JavaScript中使用for来迭代数组。它的目的是迭代对象属性。而应该使用for(var i=0;iSo使用您的示例,您希望返回什么?0因为36最接近于零?有比这更简单的方法。但这是一种有趣的方法Genius,太好了!非常感谢!
var width = ""
var rollArray = [36, 48, 60, 72]
var newArray = []
var min=1000000 //a very large number that you know it's larger than (rollArray[i]) - width)
var minIndex=-1
for (var i=0; i<rollArray.length; i++){ newArray.push ((rollArray[i]) - width)
if (min< rollArray[i]) - width & rollArray[i]) - width >0)
{
min = rollArray[i]) - width;
minIndex = i;
}
}
alert (minIndex);
alert(newArray);
var width = 37;
var rollArray = [36, 48, 60, 72];
var closest = null;
for (var i=0; i<rollArray.length; i++)
{
if (rollArray[i] >= width)
{
if (closest == null || rollArray[i] <= rollArray[closest])
{
closest = i;
}
}
}