动态构造JavaScript对象

时间:2013-04-08 10:25:57

标签: javascript

我想填充一个对象数组,以便将数组附加到网格中。这是我需要的格式:

data.push({ id: 1, values: { "country": "uk", "age": 33, "name": "Duke", "firstname": "Patience", "height": 1.842, "email": "patience.duke@gmail.com", "lastvisit": "11\/12\/2002" } });

我有values的键值对,我不确定如何在循环中构造上述对象...... ??

编辑:

到目前为止我有这个,但我只是添加值,而不是各自的键:

var recordValues = [];
//for loop iterator
recordValues.push(colValues[colCount]);
//end for

data.push({ id: recordID, values: recordValues });

colValues包含以下内容:“uk”,33,“Duke”...对象中的所有可能值..

3 个答案:

答案 0 :(得分:0)

如果你理解正确的话:

var data = [];
for (var i = 0; i < people.length; i++) {
    var person = people[i];
    data.push({ 
        id : i + 1,
        values : { 
            country : person.country, 
            age : person.age, 
            name : person.surname, 
            firstname : person.firstname, 
            height : person.height, 
            email : person.email,
            lastvisit : person.lastvisit 
        }
    });
}

答案 1 :(得分:0)

for (var key in keyValuePairs) {
  if (keyValuePairs.hasOwnProperty(key)) {
    data.push({ id: key, values:keyValuePairs[key]);
  }
}

hasOwnProperty过滤掉原型属性

答案 2 :(得分:-1)

你可以这样做:

var recordValues = [];
for (var value in colValues) {
   recordValues.push(colValues[value]);
}

data.push({ id: recordID, values: recordValues });