值不在i中以增量更新

时间:2016-02-21 07:44:58

标签: javascript

我是JavaScript的新手。这是我试图理解的一段代码。我正在递增i值,更改name中的idimg,然后将其推送到数组data。如输出中所示,整个循环中的值相同。为什么nameid不随i变化。我无法弄明白。需要帮助?

我的代码是

var data=[]
var img={}
for(var i =0 ;i<5;i++){
    img.name="i"+i;
    img.id=i;
    data.push(img);
}

console.log(data);

输出是:

[ { name: 'i4', id: 4 },
  { name: 'i4', id: 4 },
  { name: 'i4', id: 4 },
  { name: 'i4', id: 4 },
  { name: 'i4', id: 4 } ]

1 个答案:

答案 0 :(得分:0)

尝试此代码,请它运行并测试:

var data=[];

for(var i =0 ;i<5;i++){
var img={};
    img.name="i"+i;
    img.id=i;
    data.push(img);
}

console.log(data);