Javascript使用变量作为对象键将匿名对象推送到数组中

时间:2012-10-25 19:40:21

标签: javascript

  

可能重复:
  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});
}

1 个答案:

答案 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);
    }