gpt4 book ai didi

javascript - 在javascript中访问对象数组中的字段值

转载 作者:行者123 更新时间:2023-11-30 10:26:55 24 4
gpt4 key购买 nike

我需要访问这个 possibleOptions 类型对象数组中 cdOption 字段具有特定字段值的元素:

[Object { cdOption="OPT001", description="Description 1", type="STRING"}, 
Object { cdOption="OPT002", description="Description 2", type="STRING"},
Object { cdOption="OPT003", description="Description 3", type="STRING"}]

我正在寻找的字段值是从数组中的另一个对象中提取的,所以我一直在 $.each 循环中。我是否可以避免进入另一个循环以循环 possibleOptions 对象并查找指定的字段值?

我试过possibleOptions[option.cdOpzione] 但它不起作用,有没有办法做到这一点?我知道我错过了一些东西。

当前 $.each 代码:

$.each(oldOptions, function(key, option) {    
$.each(possibleOptions, function(key, possibleOption) {

if (option.cdOption === possibleOptions.cdOption) {
console.log(option.cdOption);
console.log(possibleOption.description);
}
});
});

最佳答案

一般来说,您无法避免额外的循环。不过,可能会有特定的解决方案,具体取决于您的情况。

解决方案一

如果你重组你的数据,你可以避免它,让 possibleOptions 成为一个以 cdOption 中的值作为键的对象,以及一个以描述和类型作为值的对象。

例子:

var possibleOptions = {
'OPT001' : { description:"Description 1", type:"STRING" },
'OPT002' : { description:"Description 2", type:"STRING" },
'OPT003' : { description:"Description 3", type:"STRING" }
};

var val = 'OPT002';
console.log(possibleOptions[val]);

方案二

如果 cdOption 始终采用 OPT-index- 形式,其中 -index- 为 1+ 数组中的索引,您可以做的另一件事是解析您要查找的值,提取 -index-, parseInt并减去一个。

例子:

var val = 'OPT002';
var index = parseInt(val.substring(3))-1;
console.log(possibleOptions[index]);
两者的

演示:http://jsbin.com/opojozE/1/edit

关于javascript - 在javascript中访问对象数组中的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183659/

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