实现深拷贝

Posted yourname

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现深拷贝相关的知识,希望对你有一定的参考价值。

最简单常用的:JSON.parse(JSON.stringify(obj))

简洁版:

    function deepCopy(obj) {
         let result;
         if(typeof obj === ‘object‘ && obj!==null){
             result = obj.constructor === Array ? [] : {};
             for(let i in obj){
                 result[i] = typeof obj[i]===‘object‘?deepCopy(obj[i]):obj[i]
             }
         } else{
             result = obj
         }
         return result
     }

 

以上是关于实现深拷贝的主要内容,如果未能解决你的问题,请参考以下文章

实现深拷贝最少得用几行代码?

实现深拷贝的几种方法

数组的深拷贝

JS的深拷贝/浅拷贝

C++类的浅拷贝深拷贝以及写时拷贝问题

c#中大家是怎么做深拷贝的?一定要自己手动写代码吗?