Показать сообщение отдельно
  #1 (permalink)  
Старый 26.03.2018, 13:40
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Ближайший элемент.Как можно сделать проще ?
Всем Привет!
Нарисовал метод который принимает два параметра arrayToEnter - не пустой массив целых чисел от -10000 до 10000 и valueToCheck {Number} число .
И должен возвращать ближайшее значение из массива arrayToEnter к valueToCheck. все работает,но моя имплементация далека от красоты

не подскажите как можно сделать проще??

function nearestElement(arrayToEnter, valueToCheck){
 
  var arrA = arrayToEnter.split(",");
  for(var i in arrA){
    arrA[i] = parseInt(arrA[i],10);
  }
 
  var lengArr = arrS.length;
  var ans;
  var minN = -10000;
  var maxN = 10000;
  var tmp = Infinity;
  var res = document.getElementById("func_r");
 
  for(var i=0; i<=lengArr-1; i++){
    if((minN<=arrA[i])&&(arrA[i]<=maxN)){
      var m = Math.abs(valueToCheck - arrA[i]);
      if(m<tmp){
        tmp = m;
        ans = arrA[i];
      }
    }else{
      return res.innerHTML = "ERROR";
    }
  }
  return res.innerHTML = ans;
}


форма :
<body>
 
  <form action="" name="form">
  <input type="text" id="arrayToEnter" placeholder="Enter array in the format: 1,2,3,4 ..." style="width:230px">
  <input type="number" id="valueToCheck" placeholder="Enter number">
  <input type="button" value="OK" onclick="closestElement(document.getElementById('arrayToEnter').value, document.getElementById('valueToCheck').value)">
</form>
 
<div id="func_r"></div>
   
   
 
    <script  src="js/index.js"></script>
 
 
 
 
</body>
Ответить с цитированием