当动态生成名称时,按名称读取javascript数据属性

时间:2012-10-22 10:19:23

标签: javascript

  

可能重复:
  How do I add a property to a Javascript Object using a variable as the name?
  Dynamic property names for loop of object Javascript

在javascript函数的成功中,我收到了数据,它看起来像这样:

data.lvl1
data.lvl2
data.lvl3
...

假设我在数据中只有3个元素,我想为每个元素循环并提升每个级别的警报:

for(a = 1; a<= 3; a++)
{
   alert(data.lvl + a);
   //I would like to read lvl1, lvl2, lvl3
}

这种做法显然是错误的。 请解释当lvl数基于增加a时,如何在循环中到达lvl1,lvl2。

1 个答案:

答案 0 :(得分:2)

如果要使用字符串访问属性名称,请使用方括号表示法。

foo.bar === foo['bar']

这样:

alert(data['lvl' + a]);

但最好重新构建数据,以便你有类似的东西:

data = { lvl: [1,2,3] }

而不是

data = { lvl1: 1, lvl2: 2, lvl3: 3 }