Javascript: Find the closest number in an array
JavaScript
var arr = [162, 362, 202, 242, 2, 42, 282, 322, 82, 122, 56, 67, 1, 13, 250];
function get_closest(number, array) {
var current = array[0];
var difference = Math.abs(number - current);
var index = array.length;
while (index--) {
var newDifference = Math.abs(number - array[index]);
if (newDifference < difference) {
difference = newDifference;
current = array[index];
}
}
return current;
};
function closest(num, arr) {
var curr = arr[0];
var diff = Math.abs (num - curr);
for (var val = 0; val < arr.length; val++) {
var newdiff = Math.abs (num - arr[val]);
if (newdiff < diff) {
diff = newdiff;
curr = arr[val];
}
}
return curr;
}
console.log(arr);
var target = 112;
console.time("one");
console.log(get_closest(target, arr));
console.timeEnd("one");
console.time("two");
console.log(closest(target, arr));
console.timeEnd("two");