在Javascript中迭代添加到对象数组
我尝试使用以下结构以迭代方式创建对象:在Javascript中迭代添加到对象数组,javascript,arrays,object,Javascript,Arrays,Object,我尝试使用以下结构以迭代方式创建对象: var series = { data: [{ name: 'some text', y: 0 }, { name: 'some other text', y: 1 }] } 以下是我目前的代码: var series = { data: [] }; var
var series = {
data: [{
name: 'some text',
y: 0
},
{
name: 'some other text',
y: 1
}]
}
以下是我目前的代码:
var series = {
data: []
};
var datatemp = {
y: '',
name: ''
};
for (var i=0; i<10; i++) {
datatemp.y = i;
datatemp.name = "namelabel"+i;
series.data.push(datatemp);
}
var系列={
数据:[]
};
var DATATTEMP={
y:“”,
名称:“”
};
对于(var i=0;i,您需要为for循环的每次迭代创建一个新的datatemp,否则您每次只是将相同的对象传递到数组中并修改它的值
for (var i=0; i<10; i++) {
var datatemp = {};
datatemp.y = i;
datatemp.name = "namelabel"+i;
series.data.push(datatemp);
}
for(var i=0;i您需要为for循环的每次迭代创建一个新的datatemp,否则您每次只是将相同的对象传递到数组中并修改它的值
for (var i=0; i<10; i++) {
var datatemp = {};
datatemp.y = i;
datatemp.name = "namelabel"+i;
series.data.push(datatemp);
}
for(var i=0;i要补充Mimisbrunr所说的内容,您甚至可以这样做:
for (var i=0; i<10; i++) {
series.data.push({y: i, name: "namelabel"+i});
}
for(var i=0;i要补充Mimisbrunr所说的内容,您甚至可以这样做:
for (var i=0; i<10; i++) {
series.data.push({y: i, name: "namelabel"+i});
}
for(变量i=0;ivar系列={
数据:[]
};
对于(变量i=0;ivar系列={
数据:[]
};
对于(var i=0;i对象在javascript中通过引用传递,在您的示例中,只有一个对象被名称datatemp
引用,每次您将新值分配给它的一个成员时,旧成员就会被覆盖,因此您必须为循环的每次迭代创建一个新对象。对象通过reference传递在javascript中,在您的示例中,只有一个对象被名称datatemp
引用,每次您将新值分配给它的一个成员时,旧成员就会被覆盖,因此您必须为循环的每次迭代创建一个新对象。+1。这就是我开始键入的答案(虽然我的有一些额外的换行符)。谢谢,我怀疑这很简单。我是JS新手,大家都知道:)+1。这是我开始输入的答案(虽然我的有一些额外的换行符)。谢谢,我怀疑这很简单。我是JS新手,大家都知道:)