...wo jedes Objekt auch Verweise auf andere Objekte innerhalb desselben Arrays hat?
Als ich zum ersten Mal mit diesem Problem konfrontiert wurde, dachte ich nur an etwas wie
var clonedNodesArray = nodesArray.clone()
existieren würde, und suchte nach Informationen darüber, wie man Objekte in JavaScript klont. Ich habe gefunden eine Frage auf Stack Overflow (beantwortet von demselben @JohnResig) und er wies darauf hin, dass man mit jQuery Folgendes tun kann
var clonedNodesArray = jQuery.extend({}, nodesArray);
um ein Objekt zu klonen. Ich habe dies jedoch ausprobiert, und es werden nur die Referenzen der Objekte im Array kopiert. Wenn ich also
nodesArray[0].value = "red"
clonedNodesArray[0].value = "green"
wird der Wert sowohl von nodesArray[0] als auch von clonedNodesArray[0] "grün" sein. Dann habe ich versucht
var clonedNodesArray = jQuery.extend(true, {}, nodesArray);
das ein Objekt tief kopiert, aber ich bekomme " zu viel Rekursion " und " Kontrollstapelüberlauf " Nachrichten von beiden Firebug y Oper Libelle beziehungsweise.
Wie würden Sie das machen? Ist das etwas, das gar nicht gemacht werden sollte? Gibt es eine wiederverwendbare Möglichkeit, dies in JavaScript zu tun?