我有那个对象样本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"]
发布于 2013-07-20 17:28:38
这是数据的可视化:
因此,要实现这一点,您需要使用:
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'
是字符串文字,但可以是任何表达式。
发布于 2013-07-20 17:27:52
作为
obj = {
field1: {
stat1: "string";
}
}
obj.field1.stat1
发布于 2013-07-20 17:29:51
这还不够吗,将该对象分配给var Page = {....}
Page.page_1.stats.stat_1
https://stackoverflow.com/questions/17760731
复制相似问题