JS:使用(+)添加变量作为属性(。)

时间:2015-04-24 19:32:29

标签: javascript json for-loop

如果我尝试将变量添加为属性,我会收到错误:

"Uncaught SyntaxError: Unexpected token +"

所以基本上我试图将一个循环中的变量作为属性添加到JSON,如下所示:

   var tables = ["table1", "table2", "table3"];
   for (var x = 0; x < tables.length; x++) {
     var item = $database. + tables[x];
     console.log(item);
   }

如果我像这样使用(“) var item = "$database." + tables[x];

它可以工作,但它变成了一个字符串(如果这是正确的名称),所以我无法查看JSON对象。

为什么会发生这种情况,甚至可以做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:6)

试试这个:

&amp;

如果您的for (var x = 0; x < tables.length; x++) { var item = $database[tables[x]]; console.log(item); } 是动态的,并且您不希望拥有硬编码的表名数组,那么您也可以使用Object.keys()

$database

答案 1 :(得分:5)

您可以使用括号表示法:

V2