Project1
标题:
MV 没有clone? 如何克隆一个object
[打印本页]
作者:
刺夜之枪
时间:
2016-3-7 02:58
标题:
MV 没有clone? 如何克隆一个object
本帖最后由 刺夜之枪 于 2016-3-6 14:12 编辑
如题,
在下打算clone一下$gameMap
然而查阅了一些资料好像JS不能直接克隆
作者:
taroxd
时间:
2016-3-7 06:26
本帖最后由 taroxd 于 2016-3-7 07:05 编辑
深拷贝的话:
JSON.parse(JSON.stringify(obj))
复制代码
但这个方法不能处理形成环的对象。
浅拷贝的话:
array.slice()
Object.assign({}, obj)
复制代码
Object.assign 在现在的 MV 版本中还没有支持,但是这里有 Polyfill:
https://developer.mozilla.org/en ... jects/Object/assign
Object.assign 本身也是个非常好用的函数。
使用 lodash 库的话,可以用 _.clone 和 _cloneDeep (你也可以直接把那两个函数的源代码抄过来用)。这两个方法的实现是很完善的,效率很高,对成环的对象也有考虑。
详情见:
https://lodash.com/
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1