我无法找到最接近0的数字 它给我错误的结果.. 你能告诉我怎么解决它吗? 而不是索引如何获得结果值-0.001 .. 提供小提琴和下面的代码
var myNumbersToSort = [-1, 2, -3, 4, 0.3,1,-0.001];
function getClosestToZero(set) {
if(0 === set.length) return null;
var closest = Math.abs(set[0]), result = 0;
for(var i in set) {
var next = Math.abs(set[i]);
if(closest > next) {
result = i;
closest = next;
}
}
return result;
}
document.getElementById('output').innerHTML = (getClosestToZero(myNumbersToSort));
答案 0 :(得分:1)
好消息!
有效。你唯一错过的是你的函数返回索引因为-0.001最接近0它给出了6,(数组从索引0开始)
我只是尝试使用最接近的值作为返回值并且它有效,尝试使用不同的数字,你会看到。
与 var myNumbersToSort = [-1,20.000001,-3,4,0.3,1,-0.001]
它给出 2 ,因为第二个元素是0.000001