如果我有这样的数组:
var array = [1, 3, 4, 5, 9, 10];
Run Code Online (Sandbox Code Playgroud)
我有这样的价值:
var value = 8;
Run Code Online (Sandbox Code Playgroud)
我想得到这个结果:
var result = getClosestValues(array, value); // [5, 9]
Run Code Online (Sandbox Code Playgroud)
在javascript中执行此操作的正确/首选方法是什么?看起来这可能是某个地方的正式算法.也许是这样的:
var getClosestValues = function(array, value) {
var low, high = 0, value;
for (var i = 0; i < array.length; i++) {
if (low <= value && low < array[i])
low = array[i];
if (high == value && high < array[i])
high = array[i];
};
return [low, high];
}
Run Code Online (Sandbox Code Playgroud)
谢谢!