gla*_*rey 5 javascript arrays json key
我有一个像这样的JSON结构:
{
map: [
{"key1":"valueA1", "key2":"valueA2", "key3":"valueA3"},
{"key1":"valueB1", "key2":"valueB2", "key3":"valueB3"},
{"key1":"valueC1", "key2":"valueC2", "key3":"valueC3"},
.... etc
]
}
Run Code Online (Sandbox Code Playgroud)
...我通过JSON.parse()加载到我的javascript应用程序中成为对象.
我想从对象数组的元素中检索(比方说)key3的值,其中key2 ='valueB2'.
我可以通过循环来完成它,但想知道是否有更优雅(例如单行和更有效)的方式这样做,而不必知道数组元素的索引号?
我已经google加载了一些网站,但收效甚微.或者我会更好地简化/删除数组,而不是简单的对象列表?
谢谢.
JSON 通常会在所有键和值(数字除外)周围使用双引号 "。
然而循环是你拥有的最有效和最好的选择。有新的函数式数组迭代方法,但仅适用于新的 JS 引擎和浏览器,可以在这里找到它们:https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array
如果您可以自由更改 JSON 结构,则应该将其实现为对象,而不是对象数组,其中键是 key2 的值,值是对象。
例子:
{
"valueB2": {
"key1": "valueB1",
"key2": "valueB2",
"key3": "valueB3"
}
}
Run Code Online (Sandbox Code Playgroud)
对象的检索将是 O(1) 并且简单如下obj["valueB2"]