动态构造JavaScript对象

动态构造JavaScript对象,javascript,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" } }); 我有值的键值对,我不确定如何在循环中构造上述对象 编辑: 到目

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

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" } });
我有
值的键值对
,我不确定如何在循环中构造上述对象

编辑:

到目前为止,我已经做到了这一点,但我只是在添加值,而不是它们各自的键:

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

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

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

您可以执行以下操作:

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

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

如果您理解正确:

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 
        }
    });
}
var数据=[];
for(var i=0;i

过滤掉原型属性

你能告诉我们你开始使用的数据的结构吗?请不要混淆JavaScript对象和JSON对象。@AnthonyGrist我已经做了编辑。你应该看看这个答案:。@faizanjehangir我真正想看到的是
colValues
的样子;在不知道的情况下,很难告诉你如何从这一点到你想要的结构。是的,这是需要的,但我需要一个对象来封装所有的值字段。。
for (var key in keyValuePairs) {
  if (keyValuePairs.hasOwnProperty(key)) {
    data.push({ id: key, values:keyValuePairs[key]);
  }
}