I want to replace the entire object in an array.
var array = [ {name: "name1" }, { name: "name2" } ];
var element = array[0];
element = {name: "name3"};
alert(array[0].name);
In this piece of code I would expect the output name3, why can’t I replace an entire object in an array like this? And what is the good way to do this?
The correct way is
Your existing code does not work as expected because you are taking a referenc* to the first element with
and then you are replacing the value of this local variable with another object. This leaves the original array unmodified.