深拷贝
Posted liangzhixiaolaohu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深拷贝相关的知识,希望对你有一定的参考价值。
function deepClone(obj={}){ if (typeof obj !== "object" || obj == null) { // obj是null,或者不是数组对象,直接返回 return obj; } // 初始化返回结果 let result; if (obj instanceof Array) { result = [] } else { result = {} } for (let key in obj){ // 保证key不是原型的属性 if(obj.hasOwnProperty(key)){ // 递归 result[key] = deepClone(obj[key]) } } // 返回结果 return result; }
const obj1 = { name: ‘ming‘, address:{ city: ‘beijing‘ }, arr:[1,2,3] } const obj2 = deepClone(obj1); obj2.address.city = ‘hangzhou‘ console.log(obj1.address.city); // beijing
以上是关于深拷贝的主要内容,如果未能解决你的问题,请参考以下文章