...每个对象在同一个数组中也有对其他对象的引用?
当我第一次想到这个问题的时候,我就想到了
var clonedNodesArray = nodesArray.clone()
并搜索如何在JavaScript中克隆对象的信息。我确实在Stack Overflow上找到了一个问题(同样由@JohnResig回答),他指出用jQuery你可以做到
var clonedNodesArray = jQuery.extend({}, nodesArray);
克隆对象。虽然我尝试了这个,但这只复制了数组中对象的引用。如果我
nodesArray[0].value = "red"
clonedNodesArray[0].value = "green"
nodesArray[0]和clonedNodesArray[0]的值将会是"green"然后我尝试了
var clonedNodesArray = jQuery.extend(true, {}, nodesArray);
深层复制对象,但我得到"太多的递归"和“# EYZ1"分别来自Firebug和歌剧蜻蜓的消息。
你会怎么做?这是不应该做的事情吗?在JavaScript中是否有可重用的方法来做到这一点?