当前位置: 首页 > Web前端 > JavaScript

JavaScript简单实现了一个深拷贝

时间:2023-03-27 13:06:08 JavaScript

JavaScript深拷贝复制后的数据变化不会影响复制的数据//判断数据是否为对象类型constisObj=(obj)=>typeofobj==="object"&&obj!==null;constdeepClone=(obj)=>{//根据复制的数据类型创建数据类型constnewObj=objinstanceofArray?[]:{};//遍历获取每次keyfor(constiteminobj){//使用临时变量接收consttemp=obj[item];//判断临时变量是否为对象类型,如果是,继续调用deepClone函数newObj[item]=isObj(temp)?深度克隆(温度):温度;}returnnewObj;};constarr=[1,2,3];constnewArr=deepClone(arr);console.log(arr,newArr);//[1,2,3][1,2,3]newArr[0]=0;控制台日志(arr,newArr);//[1,2,3][0,2,3]