JSON和javascript的初学者。我需要一种方法从对象列表中返回键 subAttributeOne
自己而不是他的值。
以下是列表示例
var list =
[
{
attribute1: "value",
attribute2:[{subAttributeOne:"value",subAttributeTwo:"value"},{}]
},
//other objects
{..}
]
我试过了,
list[0].attribute2[1].subAttributeOne
它会返回value
,但我需要的结果是subAttributeOne
答案 0 :(得分:5)
有了这个:
Object.keys(list[0].attribute2[0])
你得到了
['subAttributeOne', 'subAttributeTwo']
答案 1 :(得分:3)
如果您想要来自对象的键,您可以使用object.keys
来恢复所有键,但要定义其位置,在您的情况下,您可以使用如下所示:
Object.keys(list[0].attribute2[1])[0]
但是[0]
并不像索引一样工作,因为JavaScript中不保证对象中的属性顺序。
要了解有关此内容的更多信息,我建议您阅读:Does JavaScript Guarantee Object Property Order?
在此链接中,您将找到ECMAScript第三版中对象的定义:
4.3.3对象
对象是Object类型的成员。这是一个无序的 属性集合,每个属性包含一个原始值, 对象或功能。存储在对象属性中的函数是 称为方法