我试图像这样在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" : []} ]
题:
是否可以在推送/取消移位调用中将变量名作为
key
值传递?感谢帮助!
最佳答案
与push
或unshift
无关
您不能将变量用作对象文字中的属性(因为可以将标识符用作属性名,并且变量也由标识符表示)。
您必须构造对象,然后将数据添加到其中。
var new_index_name = priv.indices[i]["name"], // e.g. "container"
var ob = {};
ob[new_index_name] = [];
new_index_array.unshift(ob);