没有得到最接近0的结果

时间:2013-12-15 18:57:16

标签: javascript jquery javascript-events

我无法找到最接近0的数字 它给我错误的结果.. 你能告诉我怎么解决它吗? 而不是索引如何获得结果值-0.001 .. 提供小提琴和下面的代码

http://jsfiddle.net/YYg8U/7/

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

1 个答案:

答案 0 :(得分:1)

好消息!

有效。你唯一错过的是你的函数返回索引因为-0.001最接近0它给出了6,(数组从索引0开始)

我只是尝试使用最接近的值作为返回值并且它有效,尝试使用不同的数字,你会看到。

与 var myNumbersToSort = [-1,20.000001,-3,4,0.3,1,-0.001]

它给出 2 ,因为第二个元素是0.000001