设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3023|回复: 1
打印 上一主题 下一主题

[已经解决] MV 没有clone? 如何克隆一个object

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1759
在线时间
2524 小时
注册时间
2010-10-12
帖子
1454

开拓者

跳转到指定楼层
1
发表于 2016-3-7 02:58:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 刺夜之枪 于 2016-3-6 14:12 编辑

如题,
在下打算clone一下$gameMap
然而查阅了一些资料好像JS不能直接克隆

评分

参与人数 2+2 收起 理由
玛尔斯 + 1
众神与将军 + 1

查看全部评分


Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2016-3-7 06:26:29 | 只看该作者
本帖最后由 taroxd 于 2016-3-7 07:05 编辑

深拷贝的话:
  1. JSON.parse(JSON.stringify(obj))
复制代码
但这个方法不能处理形成环的对象。

浅拷贝的话:
  1. array.slice()
  2. Object.assign({}, obj)
复制代码
Object.assign 在现在的 MV 版本中还没有支持,但是这里有 Polyfill:https://developer.mozilla.org/en ... jects/Object/assign
Object.assign 本身也是个非常好用的函数。

使用  lodash 库的话,可以用 _.clone 和 _cloneDeep (你也可以直接把那两个函数的源代码抄过来用)。这两个方法的实现是很完善的,效率很高,对成环的对象也有考虑。
详情见:https://lodash.com/

点评

不懂你们鲁大师  发表于 2016-3-7 11:42

评分

参与人数 2星屑 +180 梦石 +1 收起 理由
余烬之中 + 1 认可答案瞄
刺夜之枪 + 180 认可答案瞄

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 21:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表