2016-11-05 100 views
0

我有一個內部有一些數據的對象。第一級數據是2個數組(body,cause)。每個body和cause數組都有數組(日期,年)。使用動態對象名稱訪問對象

totals:[{body:[ 
      {date:[54,9,3,17]}, 
      {year:[437,61,31,140]}]}, 
     {cause:[ 
      {date:[54,9,3,17]}, 
      {year:[437,61,31,140]}] 
     }] 

我想要做的是根據用戶已更改的內容動態訪問body/cause數組。

這就是我現在訪問它們的方式。

totals[isCause].body[isYear].date[filterNumber]); 

我的問題是身體和日期有硬編碼的,我想有機會獲得這兩個機構/事業日期/年。我似乎無法找到這些屬性名稱存儲爲。我試圖建立一個變種,並做這樣的事情

var bodyCause = "body"; 

然後我試圖將它傳回到我的檢索器語句。

totals[isCause].bodyCause[isYear].date[filterNumber]); 

但是失敗了。所以我只是想弄清楚這個屬性名稱存儲的是什麼,以及當我需要檢索信息時是否可以動態設置它。

+0

您已經知道如何動態訪問屬性:'totals [isCause]'。 –

+1

'totals [isCause] [bodyCause] [isYear] .date [filterNumber]'? –

回答

1

你的嘗試幾乎是正確的。您可以輕鬆使用var bodyCause = "body";並動態訪問內容。取而代之的是

totals[isCause].bodyCause[isYear].date[filterNumber]); 

你應該使用這個

totals[isCause][bodyCause][isYear].date[filterNumber]); 

應該解決您的問題。

+0

感謝您的信息! – icekomo