I have a for loop, that adds data into an array.
but when I console.log the array, it is full of the last item of the for
You are updating and pushing the same object reference again and again so the object holds the last element values. Instead, initialize the object holding variable inside the for loop beginning.
for(var i=0; i
Or directly define the object as the argument of push method without holding it to any variable.
for (var i = 0; i < ln; i++) {
materials.push({
Product: {
Name: materialsData[i].Product.Name,
Id: materialsData[i].Product.Id,
},
StartingDate: materialsData[i].StartingDate.replace("T00:00:00", "").split('-').reverse().join('-'),
Device: materialsData[i].Device
})
}