gpt4 book ai didi

javascript - 查找键值接近给定值的对象的有效方法

转载 作者:行者123 更新时间:2023-12-03 18:57:16 37 4
gpt4 key购买 nike

我正在使用 ES6。假设我有一个如下所示的排序数组。不使用 lodash 或除 jquery 之外的任何其他库。

    sortedArray = [
{a: "a", b: 2, c: "something1"},
{a: "a1", b: 3, c: "something2"},
{a: "a2", b: 4, c: "something3"},
{a: "a3", b: 5, c: "something4"},
{a: "a4", b: 6, c: "something5"},
{a: "a5", b: 7, c: "something6"}
]

有没有一种有效的方法来找出其键 b 值最接近提供的 a 值的对象。

如果我提供一个值 3.9,它应该返回 {a: "a2", b: 4, c: "something3"}

感谢任何帮助。

最佳答案

使用 reduce(所以在大数组上应该很慢......):

sortedArray = [
{a: "a", b: 2, c: "something1"},
{a: "a1", b: 3, c: "something2"},
{a: "a2", b: 4, c: "something3"},
{a: "a3", b: 5, c: "something4"},
{a: "a4", b: 6, c: "something5"},
{a: "a5", b: 7, c: "something6"}
]
const search = 3.9
sortedArray.reduce((p,v)=> Math.abs(p.b-search) < Math.abs(v.b-search) ? p : v)
// {a: "a2", b: 4, c: "something3"}

关于javascript - 查找键值接近给定值的对象的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727445/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com