1

私はそのオブジェクトサンプルを持っています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"]
4

3 に答える 3

2

これはデータの視覚化です。

ここに画像の説明を入力

したがって、そこに到達するには、次を使用します。

var stat = pages.page_1.stats.stat_2;

" page_1" が動的な場合は、ブラケット表記(下付き表記とも呼ばれます)を使用できます。

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-20T09:28:37.557 に答える
0

なので

obj = { 
       field1: {
                stat1: "string";
       }
}


obj.field1.stat1
于 2013-07-20T09:27:52.487 に答える
0

これでは不十分ですか、そのオブジェクトをに割り当てますvar Page = {....}

  Page.page_1.stats.stat_1
于 2013-07-20T09:29:51.403 に答える