Ok, when write like below:
var element = { "name": "" };
var array = [];
for (var i = 0; i < 2; ++i) {
var newelement = element;
newelement.name = i.toString();
array[i] = newelement;
}
Result in:array[0].name == array[1].name == “1”.
But write in another way:
var element = { "name": "" };
var array = [];
for (var i = 0; i < 2; ++i) {
var newelement = { "name": i.toString() };
array[i] = newelement;
}
Result in:array[0].name == “0” and array[1].name == “1”.
Tell me why.
Because in the second example you are creating a new object on each iteration, but in the first example you are referencing always the same element.