問題タブ [cloning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - javascript: オブジェクトとそのノードの複製
他の質問で探しているものを見つけることができなかったようです。オブジェクトとその DOM ノードを複製する方法があるかどうか疑問に思っています。私が試してみました:
ただし、これはどのノードも複製しません。
ただし、これは、複製されたノードに機能を与え、ノードに関連する大部分の情報を格納するオブジェクトを複製しません。私の意図は、ページの読み込み時に元のオブジェクトを定義し、それを複製して非表示にし、後でそのオブジェクトを再度複製できるようにすることでした。
DOM ノードのクローンを作成し、毎回オブジェクトを再作成することを検討しましたが、オブジェクトは大きく、そのすべてのプロパティとメソッドを定義するには多くのコードが必要です。
c# - ICloneable を追加できないオブジェクトのクローンを作成する
各フィールドを手動で設定せずに、オブジェクトの浅いコピー (新しいインスタンス) を作成しようとしています。このオブジェクトは、私が変更できるタイプではないため、オブジェクトにアクセスして ICloneable を実装することはできません...ちょっと行き詰まっています。オブジェクトを単純に複製する簡単な方法はありますか?それとも、各フィールドを新しいオブジェクトに単純にコピーする Clone() メソッドを実装する必要がありますか?
助けてくれてありがとう!
javascript - 追加されたオブジェクト メソッドをコピーできる JavaScript クローン関数を作成するにはどうすればよいですか?
JavaScript オブジェクトの複製に関する質問があります。オブジェクト プロトタイプによって定義されたものから変更された、またはインスタンス化後にオブジェクトに追加されたオブジェクト メソッドを複製できるようにしたいと考えています。これは可能ですか?
ここでの設定は、私が定義した JavaScript の「クラス」なので、オブジェクト クラスに固有のクローン メソッドを記述しても問題ありません。メソッドをコピーする方法がわかりません。
例:
java - Javaでオブジェクトをコピーする
オブジェクトに対してディープコピーを実行したいのですが、clone
関数はその程度まで機能しますか、それとも物理的にコピーしてそのオブジェクトへのポインターを返す関数を作成する必要がありますか?つまり、私は欲しい
これにより、ボードオブジェクトがtempBoardにコピーされ、ボードオブジェクトが保持されます。
c# - プロパティ名をマッピングしてプロパティ値をコピーする
Orders と ImportedOrders を呼び出す 2 つの LINQ テーブル オブジェクトがありますが、これらはまったく同じプロパティを持っていますが、ImportedOrders にはもう 1 つのプロパティがあります。インポート後、Order は ImportedOrder を取得するため、値を新しい ImportedOrders オブジェクトにコピーする必要があります。
私はこの過度に醜い方法を取り除きたいと思っています - できれば反射なしで。式でできると思いますが、式ツリーの使用はさびているだけではありません。
編集:
Amittai Shapiraの提案に従って AutoMapperを使用すると、関連するロジックは次のようになります。
それが私が改善と呼んでいるものです:-)
jquery - jqueryで重複するxmldomオブジェクト
2つのxmldomオブジェクトを1つずつコピー/クローンします。
質問が重複している場合は申し訳ありません...私はすでに試しまし たJavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
しかし、jqueryは不正な呼び出しをスローします
編集: XMLはajax呼び出しから来ます
編集2:今、私はjavascript cloneNodeを使用しています。これは、IEとFFで完全に機能しますが、Chromeでは失敗します。これを参照してください。誰かが回避策を知っているなら、私は感謝するでしょう。
c# - List を値として持つ辞書の複製
このような辞書をどのように複製しますか :
私がそれを複製しようとするたびに失敗します。
私がこれを持っている場合:
これを行う:
dict2 は、新しい User オブジェクトではなく、引き続き user1 を参照します。
クローン プロパティの変更が元のオブジェクトに反映されないように、User オブジェクトを複製したいと考えています。
編集 :
そこで、次のコード スニペットを作成しました。
jquery - イベント オブジェクトをそのままにして div を完全に複製し、id の名前を変更すると、ソース div が削除されます
コンテンツ、フォーム要素、および添付されたイベントを含む div を複製しようとしています。div を複製したら、名前を変更したいと思います。問題は、ソース div を複製した div の名前を変更すると、名前も変更されることです。すべてのイベントが添付された既存の div のクローンを作成し、すべて同じ特性を持つ新しいものを別の名前で作成する最も効率的な方法は何ですか?
私はjquery 1.6を使用しています
以下を使用してアイテムを正常に複製できますが、名前を変更しようとすると、ソースの名前も変更されます。
c# - C# で深いクローンと浅いクローンを作成するより良い方法はありますか?
私はプロジェクトのオブジェクトを作成していますが、このオブジェクトのディープ コピーを作成する必要がある場合がいくつかあります。C# の組み込み関数である MemberwiseClone() を使用することにしました。私を悩ませている問題は、私が作成した新しいクラスがあるときはいつでも、浅いコピーのために以下のコードのような関数を書かなければならないということです..誰かが私にこの部分を改善し、より良い浅いコピーをくれますか?コードの 2 行目よりも。ありがとう :)
浅いコピー:
ディープコピー:
c# - C#のクローン作成-シリアル化できないデータ型の操作
ゲームエンジンにオブジェクトのクローンを実装するための探求で、少しつまずきました。私の目標は、クラスが特別な扱いを必要としない限り、クラスごとに維持する必要のないクローンシステムを作成することです。
私のゲームエンジンのセットアップは、Texture2Dの形式でいくつかの画像データを含む基本クラスObject2Dを中心に展開しています。長い話は、Texture2Dを含むSpriteを含むDisplayObjectが含まれているということです。当然、「Player」、「Enemy」、「Projectile」などの他のクラスはすべて、基本的なObject2Dクラスから派生します。
残念ながら、XNAのTexture2Dクラスはシリアル化できないことがわかりました。これは理にかなっています。メモリ内のテクスチャデータを意地悪に複製したくないからです。
これは私にとってジレンマを生み出します。オブジェクトのクローンを作成するためにディープクローンメソッドを使用していましたが、シリアル化できないため、それを行うことができなくなりました。Texture2D [NonSerializable]をマークしようとしましたが、クローンのテクスチャがnullであるため、描画しようとすると問題が発生します。クローン作成後に割り当てることができる隠されたトリックを見つけることができませんでした(ある種の「onClone()」メソッドのように)。
だから私はこれをやろうと思った。一般的にディープクローンを作成できないオブジェクトの場合、clone()メソッドを指定できる「SpecialClone」インターフェイスを実装します。
ただし、一般的にディープクローンを作成できないクラスは基本クラスであるため、クラスごとにクローンメソッドを作成するという最初の段階に戻ります。
私はまだC#が得意ではないので、使用できるトリックが不足しているかどうか、またはこれが本当にこの問題に対処する方法であるかどうかはわかりません。このクローン作成の主な目的はObject2Dタイプを対象としているため、作成する新しいサブクラスごとにクローンメソッドを作成する必要があるのは非常に困難です。
これを回避する方法はありますか?