【发布时间】:2019-04-18 05:32:18
【问题描述】:
我有 web 应用程序,我有以下 JSON 数组:
var data=[
{ "category" : "Search Engines", "hits" : 5, "bytes" : 50189 },
{ "category" : "Content Server", "hits" : 1, "bytes" : 17308 },
{ "category" : "Content Server", "hits" : 1, "bytes" : 47412 },
{ "category" : "Search Engines", "hits" : 1, "bytes" : 7601 },
{ "category" : "Business", "hits" : 1, "bytes" : 2847 },
{ "category" : "Content Server", "hits" : 1, "bytes" : 24210 },
{ "category" : "Internet Services", "hits" : 1, "bytes" : 3690 },
{ "category" : "Search Engines", "hits" : 6, "bytes" : 613036 },
{ "category" : "Search Engines", "hits" : 1, "bytes" : 2858 }
];
我想在一个单独的表中获得hits 字段,例如
var hits = [5,1,1,1,1,1,1,6,1]
我知道data.map(x=>x.hits)
但我在 json 中的属性名称是动态的。我事先不知道我的财产名称。所以我需要在 Json 中使用属性索引。
我知道可以通过 json 循环使用,
但是有没有办法在一个语句中获取所有 hits 而没有任何循环?
【问题讨论】:
-
使用
Object.keys()获取 JSON 对象的所有可用属性的数组。然后你可以遍历它们而不管它们的值是什么 -
没有“JSON 数组”或“JSON 对象”之类的东西。 JSON 是一些数据结构的文本表示(它可以是数组、对象或原始类型,也可以是数字或字符串)。您发布的文本是 JavaScript 代码,而不是 JSON。
-
你说我不知道我的属性名称,但你想要获得所有命中你是什么意思?
-
似乎依赖于特定顺序的键非常脆弱。
标签: javascript jquery arrays json typescript