可以按以下步骤解决此问题:
下面是一段示例代码:
const arr = [
{ key: 1, value: "apple" },
{ key: 3, value: "banana" },
{ key: 5, value: "cherry" },
{ key: 7, value: "date" },
];
const targetKey = 4;
// 根据 key 对对象数组进行排序
arr.sort((a, b) => {
return a.key - b.key;
});
// 找到最接近目标键值的最小键
let closestKey = arr.reduce((prev, curr) => {
return Math.abs(curr.key - targetKey) < Math.abs(prev.key - targetKey) ? curr : prev;
});
// 获取最小键对应的对象的值
let resultValue = closestKey.value;
console.log(resultValue); // 输出 "banana"
在上面的示例中,我们首先将要比较的对象按照键值进行了排序,然后使用 reduce()
方法找到了最接近目标键值的最小键。最后,我们获取了该键对应的值并将其输出。