动态地将名称指定给对象数组

时间:2013-02-11 12:07:19

标签: javascript

我有一个javascript问题。
如果我有一个对象数组objAr,该对象由id,name。

组成

如果我要访问objAr[0].id,则返回第一个对象的id值。如果对象是动态的并且因此我不知道它包含什么会发生什么,有没有办法动态调用Object属性?

目前我正在创建另一个数组

var theArr = new Array("id", "name");

并致电:

objAr[0].theArr[0] instead of objAr[0].id.

有没有办法使用Javascript更好地做到这一点?

2 个答案:

答案 0 :(得分:0)

使用Javascript,您可以在不知道密钥的情况下调用对象中的所有属性。
见下文:

for(key in objAr[0]) {
   console.log(objAr[0][key]);
}

如果你只想要第一个属性,你可以运行:

for(key in objAr[0]) {
   var attFirst = objAr[0][key];
   break;
}

此外,对于JS数组,您可以使用方括号。

var theArr = ["id", "name"];

希望有所帮助

答案 1 :(得分:0)

在javascript中,您始终可以使用“数组表示法”代替“点符号”

所以这两行是相同的

objAr[0].id
objAr[0]["id"]