【发布时间】:2019-12-16 02:14:21
【问题描述】:
我需要通过最接近的值获取数组中的对象。让我通过一个例子来解释它:
const data = [
{ age: 52 },
{ age: 53 },
{ age: 54 },
{ age: 60, some: 'data' },
{ age: 66, something: 'else' },
{ age: 72 },
{ age: 78 },
{ age: 84 }
]
我确实通过使用data.find((d)=> d.age === 60) 来获取对象。但如果年龄是61,我不会得到结果。
在这种情况下,我想获得相同的对象。
对于64,应返回下一个对象 ({ age: 66, something: 'else' })。
如您所见,年龄值不是线性的。
【问题讨论】:
-
数组总是要排序的吗?
-
@nickzoum 是的,但是每个年龄值之间的差异并不总是相同的。
-
输入 63 时最接近的值应该是多少? 66还是60?
标签: javascript arrays object ecmascript-6