Wie kann ich ein JavaScript-Objekt korrekt klonen?
Ich habe ein Objekt, x
. Ich möchte es als Objekt y
kopieren, so dass Änderungen an y
nicht x
verändern. Ich habe festgestellt, dass das Kopieren von Objekten, die von eingebauten JavaScript-Objekten abgeleitet sind, zu zusätzlichen, unerwünschten Eigenschaften führt. Das ist kein Problem, denn ich kopiere eines meiner eigenen, wörtlich konstruierten Objekte.
Wie kann ich ein JavaScript-Objekt korrekt klonen?
2906
3
Aus diesem Artikel: Wie man Arrays und Objekte in Javascript kopiert von Brian Huisman:
Hier ist eine Funktion, die Sie verwenden können.
Wenn es keine zirkulären Abhängigkeiten in Ihrem Objekt gibt, schlage ich vor, eine der anderen Antworten oder die Kopiermethoden von jQuery zu verwenden, da sie alle recht effektiv zu sein scheinen.
Wenn es zirkuläre Abhängigkeiten gibt (d.h. zwei Unterobjekte sind miteinander verknüpft), sind Sie ziemlich aufgeschmissen, da es (aus theoretischer Sicht) keine Möglichkeit gibt, dieses Problem elegant zu lösen.