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

fre*_*ent 0 javascript arrays jquery

我正在尝试在unshift()调用中设置变量名称,如下所示:

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

但我的new_index_array现在将包含:

[ {new_index_name : []} ]
Run Code Online (Sandbox Code Playgroud)

代替

[ {"container" : []} ]
Run Code Online (Sandbox Code Playgroud)

问题:
是否可以将变量名称作为keypush/unshift调用中的值传递?

感谢帮助!

Que*_*tin 5

这与pushor 无关unshift

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

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

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