// var arr = [500, 400, 320, 200, 1, 10, 8, 100, 130, 120, 135, 140, 180, 190, 170, -1, -2, -4, -53];
var arr1 = [0.001, 0.2, -0.012, 0.234, 0.098, -0.119, 0.043, 0.0002]
var targetNum1 = 0.21;
function findCloseNum(arr, targetNum) {
// 保存最接近目标数值的数组中的索引
let index = null;
// 保存差值绝对值,默认为最大值
let value = Number.MAX_VALUE
for(let i = 0; i < arr.length; i++) {
let newValue = Math.abs(arr[i] - targetNum); // 新差值
// 差值比较,保存最小的差值
if (newValue <= value) {
// 若差值相等,取大
if (newValue === value && arr[i] < arr[index]) {
continue;
}
index = i;
value = newValue
}
}
return arr[index]
}
findCloseNum(arr1, targetNum1);