十二行代码(递归)实现深度复制对象函数

原创 hz9527 随笔 随笔 241阅读 2017-05-24 00:14:44 举报

在js中一切对象皆引用,因此有时候深度复制一个对象显得有必要。
其实一行代码也能实现深度复制,JSON.parse(JSON.stringify(obj))
但是深度复制一般会作为递归函数入门教程,因此用最原始的方法实现深度复制也显得有必要,或者说作为一项应该掌握的基本技能吧

首先看看你经常看到的版本吧(今天在一个公众号看到的)

html 代码

嗯 30多行
然后还有稍微简化版
html 代码

嗯,20多行
好,看看12行版本吧,当然其实还可以简化,将typeof与constructor进行且运算,其实就10行了。
其实最重要的是,在整个运算过程中不需要声明额外变量
####
html 代码

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复