0

我试图在unshift()这样的调用中设置一个变量名:

var new_index_name = priv.indices[i]["name"], // e.g. "container"
    new_index_array.unshift({new_index_name :[]});

但我的 new_index_array 现在将包含:

[ {new_index_name : []} ]

代替

[ {"container" : []} ]

问题:是否可以在 push/unshift 调用中将
变量名作为值传递?key

感谢帮助!

4

1 回答 1

5

push这与或无关unshift

您不能将变量用作对象文字中的属性(因为您可以使用标识符作为属性名称,并且变量也由标识符表示)。

您必须构造对象,然后将数据添加到其中。

var new_index_name = priv.indices[i]["name"], // e.g. "container"
var ob = {};
    ob[new_index_name] = [];
    new_index_array.unshift(ob);
于 2013-01-22T12:53:14.867 回答