Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Nearest Value by mv280693
import assert from "assert";
function nearestValue(values: number[], search: number): number {
values.push(search);
values.sort((a, b) => a - b);
let a = values.indexOf(search);
let e = values[ a - 1];
let b = values[a + 1];
if(a == 0){
return values[1];
}
return (search - e > b - search) ? b : e;
}
console.log('Example:');
console.log(nearestValue([4, 7, 10, 11, 12, 17], 9));
// These "asserts" are used for self-checking
assert.equal(nearestValue([4, 7, 10, 11, 12, 17], 9), 10);
assert.equal(nearestValue([4, 7, 10, 11, 12, 17], 8), 7);
assert.equal(nearestValue([4, 8, 10, 11, 12, 17], 9), 8);
assert.equal(nearestValue([4, 9, 10, 11, 12, 17], 9), 9);
assert.equal(nearestValue([4, 7, 10, 11, 12, 17], 0), 4);
assert.equal(nearestValue([4, 7, 10, 11, 12, 17], 100), 17);
assert.equal(nearestValue([5, 10, 8, 12, 89, 100], 7), 8);
assert.equal(nearestValue([-1, 2, 3], 0), -1);
console.log("Coding complete? Click 'Check' to earn cool rewards!");
April 28, 2020