let array = [1,2,3,5,12,45,122,23,23,23,45]
查找数组中最近的值(如果数组中有重复的找第一个接近的值)
function findClosestIndex(arr, target) {
let minDiff = Infinity;
let closestIndex = -1;
for (let i = 0; i < arr.length; i++) {
const diff = Math.abs(arr[i] - target);
if (diff < minDiff) {
minDiff = diff;
closestIndex = i;
} else if (diff === minDiff && i < closestIndex) {
closestIndex = i;
}
}
return closestIndex;
}
let result = findClosestIndex(array,23)7
查找数组中最近的值(如果数组中有重复的找最后一个接近的值)
function findClosestLastIndex(arr, num) {
var index = 0;
var d_value = Number.MAX_VALUE;
for (var i = 0; i < arr.length; i++) {
var new_d_value = Math.abs(arr[i] - num);
if (new_d_value <= d_value) {
if (new_d_value === d_value && arr[i] < arr[index]) {
continue;
}
index = i;
d_value = new_d_value;
}
}
return index;
}
let result = findClosestIndex(array,23)9
查询数组中最接近的值
最新推荐文章于 2023-10-21 16:02:40 发布