在 Javascript 中动态构建对象

Building an object dynamically in Javascript

我有一个对象定义为:

outobject = [];

用数据构建对象后,这个对象有如下四列十项:

id: 1
name : "abc"
date: "11/1/2012"
type : "normal"

id : 2
name : "def"
date : "11/2/2012"
type : "normal"

等等。

现在我正在遍历对象并进行计算,最终我想在对象中再添加一列,如下所示:

for (var i = 0; i < outobject.length; i++) {

//do some calculation, I got output as "Brazil" for this particular instance of outobject[i]

outobject[i].push({
                        locationname: "Brazil"
                    });

}

此时我遇到异常:

outobject[i].push({
                        locationname: "Brazil"
                    });

是否可以像这样添加数据,我正在这样做"location"因为它必须即时计算

我假设当你说你已经填充了对象(它是一个数组)时,你做了这样的事情:

outobject[0] = {
    id: 1,
    name : "abc",
    date: "11/1/2012",
    type : "normal"
};

outobject.push({
    id: 1,
    name : "abc",
    date: "11/1/2012",
    type : "normal"
});

...其他三个条目依此类推。

这个:

outobject[i].push({
    locationname: "Brazil"
})

...尝试将条目 i 处的对象视为一个数组,但您的问题中没有任何内容表明它是一个数组。

如果您的目标是添加第五项:

outobject.push({
    locationname: "Brazil"
});

如果您的目标是添加一个locationname属性到outobject[i]处的对象,那么:

outobject[i].locationname = "Brazil";