gpt4 book ai didi

Javascript 在对象数组中找到最接近的数字并检索对象的键值

转载 作者:行者123 更新时间:2023-12-05 08:37:09 25 4
gpt4 key购买 nike

我有一个对象数组(带有keys:namequoteNumber)我想找到最接近的quoteNumber 小于给定数字然后检索该对象的名称,我考虑过使用 for 循环删除较大的值,并从剩余的值中获取最大值,但它可能不是最好的选择数据集会很大。这是其他更有效的算法吗?谢谢!

const givenNum = 45
var array = [

{ name: "Sally",
quoteNumber: 35},
{ name: "Jane",
quoteNumber: 20},
{ name: "Edwin",
quoteNumber: 55},
{ name: "Carrie",
quoteNumber: 47}];

//'result:' Sally

最佳答案

如果它是未排序的,最有效的可能是单次传递。

function getHighestQuote(quotes, limit) {
let winner = null;
let winningQuote = null;
for (let {name, quoteNumber} of quotes) {
if (quoteNumber > limit)
continue;
if (winningQuote === null || winningQuote < quoteNumber) {
winner = name;
winningQuote = quoteNumber;
}
}
return winner;
}

它不像函数式方法那么时髦,但它是一个线性时间传递,只需要分配几个堆栈变量。

关于Javascript 在对象数组中找到最接近的数字并检索对象的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66551186/

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