我有对象示例pages
:
{
"page_1":
{
"stats":
{
"stat_1": 20,
"stat_2": 40
}
"ahkam":
{
//Staff
}
}
"page_2":
{
//staff
}
}
如何才能访问stat_2
的值?
我使用了那个表达式,但我不知道为什么它不起作用:
Object.keys(pages["page_1"].stats)["stat_1"]
答案 0 :(得分:2)
这是数据的可视化:
因此,要实现目标,您需要使用:
var stat = pages.page_1.stats.stat_2;
如果“page_1
”是动态的,那么您可以使用bracket notation(也称为下标符号):
var key = 'page_' + x;
var stat = pages[key].stats.stat_2;
如果“stat_2
”也是动态的,那么您可以使用相同的表示法:
var pageKey = 'page_' + x;
var statKey = 'stat_' + n;
var stat = pages[pageKey].stats[statKey];
或者你可以在整个表达中使用这种表示法:
var stat = pages[pageKey]['stats'][statKey];
基本上,a.b.c
相当于a['b']['c']
,在这种情况下,'b'
和'c'
是字符串文字,但可以是任何表达式。
答案 1 :(得分:0)
as
obj = {
field1: {
stat1: "string";
}
}
obj.field1.stat1
答案 2 :(得分:0)
这还不够,
将该对象分配给var Page = {....}
Page.page_1.stats.stat_1