问题标签 [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
函数是否工作到那个程度,还是我必须创建一个函数来物理复制它,并返回一个指向它的指针?也就是说,我要
这会将 board 对象复制到 board 对象所在的 tempBoard 中:
c# - 通过映射属性名称来复制属性值
我有两个调用 Orders 和 ImportedOrders 的 LINQ 表对象,它们具有完全相同的属性,但 ImportedOrders 还有一个属性。导入后,订单获得 ImportedOrder,因此我必须将值复制到新的 ImportedOrders 对象中。
我想摆脱这种过于丑陋的方法 - 最好不反思。我认为这可以用表达式来完成,但我对表达式树的使用不仅仅是生锈。
编辑:
按照Amittai Shapira的建议使用AutoMapper后,相关逻辑现在如下所示:
这就是我所说的改进:-)
jquery - jquery中重复的xml dom对象
我想复制/克隆 2 个 xml dom 对象 - 一个到另一个。
对不起,如果它是重复的问题......我已经尝试过 在 JavaScript 中深度克隆对象的最有效方法是什么?
但是jquery抛出非法调用
编辑: XML 来自 ajax 调用
编辑 2:现在,我正在使用 javascript cloneNode,它在 IE 和 FF 中完美运行,但在 Chrome 中失败。看到这个。如果有人知道解决方法,我将不胜感激。
c# - 克隆具有 List 作为值的字典
你如何克隆一本这样的字典:
我克隆它的每一次尝试都以失败告终。
如果我有这个:
这样做:
dict2 仍将引用 user1 而不是新的 User 对象。
我希望复制用户对象,以便更改克隆属性不会反映在原始对象上。
编辑 :
所以我写了以下代码片段:
jquery - 克隆一个完整的 div,事件对象完好无损,然后重命名 id 删除源 div
我正在尝试克隆一个包含内容、表单元素和附加事件的 div。一旦我克隆了 div,我想重命名它。问题是当我重命名我克隆的 div 时,源 div 也被重命名。克隆现有 div 并附加所有事件的最有效方法是什么,然后创建一个具有所有相同特征但名称不同的新 div?
我正在使用 jquery 1.6
我可以使用以下方法成功克隆该项目,但是当我尝试重命名它时,源也会被重命名。
c# - 有没有更好的方法在 C# 中创建深克隆和浅克隆?
我一直在为一个项目创建对象,在某些情况下,我必须为这些对象创建一个深层副本,我想出了使用 C# 的内置函数 MemberwiseClone()。困扰我的问题是,每当我创建了一个新类时,我就必须编写一个类似下面代码的函数来进行浅拷贝。有人可以帮我改进这部分并给我一个更好的浅拷贝比第二行代码。谢谢 :)
浅拷贝:
深拷贝:
c# - C# 克隆 - 使用不可序列化的数据类型
在我的游戏引擎中实现对象克隆的过程中,我遇到了一些绊脚石。我的目标是拥有一个克隆系统,我不必逐个班级维护,除非班级需要特殊处理。
我的游戏引擎的设置围绕着一个基类 Object2D,它包含一些 Texture2D 形式的图像数据。好吧,长话短说,它包含一个 DisplayObject,它包含一个 Sprite,它包含一个 Texture2D。自然,其他类,例如“Player”、“Enemy”、“Projectile”等都派生自基本的 Object2D 类。
不幸的是,我发现 XNA 的 Texture2D 类不可序列化。这是有道理的,因为我们不想在内存中随意复制纹理数据。
这给我造成了两难境地。我正在使用深度克隆方法来克隆对象,但由于它不可序列化,我不能再这样做了。我尝试只标记 Texture2D [NonSerializable],但是当我尝试绘制时这会导致问题,因为克隆的纹理为空。我找不到任何允许我在克隆后分配它的隐藏技巧(例如某种“onClone()”方法)。
所以我想我会这样做。对于一般不能深度克隆的对象,我实现了一个“SpecialClone”接口,允许我指定一个 clone() 方法。
但是,因为一般不能深度克隆的类是基类,所以我又回到了开始的地方:逐个类地编写克隆方法。
我在 C# 方面还不是最好的,所以我不确定我是否遗漏了一些我可以使用的技巧,或者这是否真的是我必须处理这个问题的方法。这种克隆的主要目的是针对 Object2D 类型,因此必须为我创建的每个新子类编写克隆方法真的很痛苦。
有没有办法避免这种情况?