gpt4 book ai didi

javascript - 在 JavaScript 对象中按值查找

转载 作者:行者123 更新时间:2023-11-29 15:07:20 26 4
gpt4 key购买 nike

我正在为 javascript 中的一些任务而苦苦挣扎。我有以下对象:

const methods = {
searchRanking: {
id: 'tmEM6RoEPmUO',
template: 'main_template',
startUrl: 'https://www.amazon.de/s?k={value}',
startValueOverrideName: 'url',

dataProcessor: function (data) {
return data.map(/*doe shit met data*/)
}
},

productDetails: {
id: 'tAewRCbTuuL5',
template: 'main_template',
startUrl: 'https://www.amazon.de/dp/{value}',
startValName: 'url',

dataProcessor: function (data) {
return data.map(/*doe shit met data*/)
}
}

}

每个对象都有一个处理器方法。我想返回包含 id tmEM6RoEPmUO

对象的处理器

我可以遍历键并检查每个键是否包含给定的 ID,但这似乎是一种解决方法,是否有更有效的方法?

最佳答案

我会简单地遍历键并检查。在这种情况下,时间复杂度将为 O(N)。会像

let res = Object.values(obj).find(x => x.id === 'tmEM6RoEPmUO').dataProcessor()

但考虑到您需要 O(1) 时间复杂度,那么您可以创建另一个对象,其键等于对象的 id。

let newObj = Object.fromEntries(Object.entries(obj).map(([_, v]) => [v.id, v]));
let res = newObj['tmEM6RoEPmUO'].dataProcessor()

关于javascript - 在 JavaScript 对象中按值查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58623236/

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