У меня есть цикл for
, который добавляет данные в array
. , но когда я console.log
массив, он заполнен последним элементом цикла for
!Javascript массив с циклом 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'? – Satpal
Объекты передаются по ссылке. Итак, каждая итерация, вы переопределяете одну и ту же переменную – Rajesh