Всем Привет!
Нарисовал метод который принимает два параметра 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>