【发布时间】:2017-01-16 11:39:13
【问题描述】:
我有一个for 循环,它将数据添加到array。
但是当我console.log 数组时,它充满了for 循环的最后一项!
这是我的代码:
var materialsData = results[1].data, // results[1].data is a http.get return
ln = Object.size(materialsData),
materials = [],
material = {};
material['Product'] = {};
for (var i = 0; i < ln; i++) {
material.Product['Name'] = materialsData[i].Product.Name;
material.Product['Id'] = materialsData[i].Product.Id;
material.StartingDate = materialsData[i].StartingDate.replace("T00:00:00", "").split('-').reverse().join('-');
material.Device = materialsData[i].Device;
materials.push(material);
}
【问题讨论】:
-
您在哪里以及如何定义变量
material? -
对象通过引用传递。所以每次迭代,你都会覆盖相同的变量
标签: javascript arrays loops