使用动态对象名访问对象

时间:2016-11-05 17:39:15

标签: javascript jquery arrays object

我有一个包含一些数据的对象。第一级数据是2个数组(正文,原因)。每个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并做这样的事情

var bodyCause = "body";

然后我试着把它传回我的猎犬声明。

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

但那失败了。所以我只想弄清楚该属性名称的存储位置以及我是否可以在需要检索信息时动态设置它。

1 个答案:

答案 0 :(得分:1)

你的尝试几乎是正确的。您可以轻松使用var bodyCause = "body";并动态访问内容。而不是这个

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

你应该使用这个

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

应该解决你的问题。