如果我有一个对象:
var array = [];
var theobject = null;
array.push({song:"The Song", artist:"The Artist"}, {song:"Another Song", artist:"Another Artist"});
我这样做:
for(var i = 0; i < array.length; i++)
if(array[i].song == "The Song") {
theobject = array[i];
break;
}
如果我然后通过执行以下操作更改对象:
theobject.song = "Changed Name";
我遇到了问题,尽管我自己尝试仅将“theobject.song”设置为等于“Changed Name”,但 array[0].song 也设置为“Changed Name”。
我想要的是“theobject.song”变成“Changed Name”,而array[0].song 仍然是“The Song”。
实现这一目标的最佳方法是什么?