не получить результат, ближайший к 0

0

Я не могу найти ближайший номер до 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));
Теги:
javascript-events

1 ответ

1

Хорошие новости!

Оно работает. единственное, что вы пропустили, что ваша функция возвращает индекс. Поскольку -0.001 является ближайшим к 0, он дает шесть (массив начинается с индекса 0)

Я просто попробовал его с максимальным значением возвращаемости, и он работал, попробуйте его с разными номерами, и вы увидите.

с var myNumbersToSort = [-1, 2,0.000001, -3, 4, 0.3,1, -0.001]

он дает 2, поскольку второй элемент равен 0,000001

  • 0
    спасибо за ответ вместо индекса как получить значение как результат -0,001
  • 0
    «вернуть ближайший» вместо «вернуть результат», потому что переменная результат соответствует индексу
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню