可能重复:
Accessing property of object with variable
How do I add a property to a JavaScript object using a variable as the name?
我正在尝试实现以下功能,将匿名对象推送到数组中,但使用变量“name”作为Object键。有什么想法我能做到这一点吗?
var json = $('form[name="edit-form"]').serializeArray();
var data = {};
data.user = [];
var l = json.length;
for(var i = 0; i < l; i++){
var name = json[i].name;
var value = json[i].value;
data.user.push({[name]: value});
}
答案 0 :(得分:3)
这样的东西?假设你要找的是一个带有属性的对象,该属性取自包含值的name变量。
var json = $('form[name="edit-form"]').serializeArray();
var data = {};
data.user = [];
var l = json.length;
for(var i = 0; i < l; i++){
var name = json[i].name;
var value = json[i].value;
var tempObj = {};
tempObj[name] = value;
data.user.push(tempObj);
}