数组 JavaScript 的副本
copy of an array JavaScript
我有一些对象:
var obj1 = new Obj1(),
obj2 = new Obj2(),
...
和两个数组:
objecs.push(obj1, obj2,...);
defaultObjects.push(obj1, obj2, ...);
在游戏循环期间,objects
数组会发生变化,但defaultObjects
不会。当游戏需要重新启动时,我需要使objects
等于defaultObjects
(就像开始时一样)。如果我这样做:
objects = defaultObjects.slice(0)
这是否意味着objects[0]
和defaultObjects[0]
现在指向同一个对象obj1
,但objects
和defaultObjects
之间没有连接,所以我得到了我需要的东西?
这是
正确的。 slice
将返回一个新数组。
但是,正如您提到的,数组元素仍将引用相同的对象。即从一个数组更改任何对象将导致它在另一个数组中的变化。
相关文章:
- 使用对象的副本创建数组(Javascript)
- Javascript-关联数组副本
- 我如何使用JavaScript(jQuery)在HTML中以传统方式创建元素的副本作为新元素
- 将字段添加到新的 JavaScript 数组副本
- 如何在 Javascript 中从函数本身或其副本访问属性
- 数组 JavaScript 的副本
- 删除原始对象,同时在 JavaScript 中保留它的副本
- Javascript 在副本上附加链接
- 序列化网站的完整 Javascript 状态,包括闭包/隐藏副本
- 对象图的JavaScript深度副本
- Javascript游戏-对象在本地副本上生成,一次上传都没有
- 控制台的JavaScript会影响真实页面吗;本地副本'
- 如何解析pdf文件的本地副本并使用javascript搜索关键字出现
- Javascript:为HTML文档中所有相似元素的副本选择文本
- 我如何在和数组中制作Javascript对象的多个副本并分别编辑这些对象
- 如何使用PHP保存和维护javascript文件的本地副本(考虑并行性)
- 如何设置从javascript打印的副本数量
- 用本地副本覆盖远程JavaScript文件
- JavaScript shift()方法是否返回元素的引用或副本?
- 使用JavaScript在SharePoint 2010文档库中创建文档副本