JavaScriptオブジェクトを正しくクローンするには?
あるオブジェクト x
があります。これをオブジェクト y
としてコピーし、y
を変更しても x
は変更されないようにしたいと思います。JavaScriptの組み込みオブジェクトから派生したオブジェクトをコピーすると、不要なプロパティが追加されることに気づきました。私がコピーしているのはリテラルで構築された私自身のオブジェクトなので、これは問題ではありません。
JavaScriptオブジェクトを正しくクローンするには?
2906
3
この記事からHow to copy arrays and objects in Javascript by Brian Huisman:
ここでは、使用できる関数を紹介します。
オブジェクトに循環的な依存関係がない場合は、他の回答やjQueryのcopyメソッドを使用することをお勧めしますが、いずれも非常に効果的だと思われます。
循環的な依存関係がある場合(つまり、2つのサブオブジェクトが互いにリンクしている場合)は、(理論的な観点から)この問題をエレガントに解決する方法がないため、ちょっと困ったことになります。