🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 1、常用深拷贝 ***** ``` function deepClone(obj) { var newObj = Array.isArray(obj) ? [] : {}; for(var key in obj){ if(obj[key] && typeof obj[key] === 'object'){ newObj[key] = deepClone(obj[key]) }else{ newObj[key] = obj[key] } } return newObj; } ``` ### 2、通过JSON对象进行深拷贝 ***** ``` function deepClone(obj={}) { return JSON.parse(JSON.stringify(obj)); } ``` 缺点明显,对象中的方法无法拷贝 ![](https://img.kancloud.cn/a6/99/a6999fe52418eddcd6890468547a3376_377x120.png) ### 3、一级对象/一维数组深拷贝 ***** | 方法 | 说明 | | --- | --- | | Object.assign() | 一级对象深拷贝,二级及其以上则为引用 | | slice | 一维数组深拷贝,二级及其以上则为引用 | | concat | 一维数组深拷贝,二级及其以上则为引用 |