I have an array of values, and I need a function that takes in two integers, and assigns those two integers to their closest values from the array.
var bandwidthSteps = [0.128, 0.256, 0.512, 1, 2, 4, 5, 8, 10, 12, 15, 18, 20, 22, 25, 30, 40, 50, 55, 60, 80, 90, 100, 110, 128, 200, 256, 300, 350, 400, 450, 500];
When a "private" value and a "guest" value come in, I need to match each to their closest value in the set - rounded down.
var function = closestValues(private,guest) {
//
};
So when this function is given 14 and 21, I need the function to return:
private = 15
guest = 20
since those are the closest matches to integers in the array. Note that the "steps" in the array are irregular, it's not like 2, 5, 8, 11. Or else it would be easy.
The solution in a JS function would be great, or the correct direction to go in making such a function. The ideas that come to me seem overly complex: for each set of two consecutive numbers in the array, average the two and then determine if the given integer is greater or less than the average, etc etc. I'm sure there is a more concise way.