如何将变量作为键传递给javascript unshift / push?

时间:2013-01-22 12:51:37

标签: javascript jquery arrays

我正试图在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值传递?

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

这与pushunshift

无关

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

你必须构造对象,然后将数据添加到它。

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