Quote:
statList.push(stat);
You haven't shown us where you create it, but it looks like you're pushing the same object into the array in a loop. Any update to a property of that single object will then be reflected no matter which array index you access it from.
You need to create a new object for each slot in the array.
for (var j = 0; j < statcount; j++) {
var stat = {};
statList.push(stat);
}