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

js实现引用类型数据深拷贝有几种方式?

时间:2023-03-27 17:28:38 JavaScript

js深拷贝的三种实现方法1.使用递归方法实现深拷贝//使用递归方法实现数组和对象的深拷贝functiondeepClone1(obj){//判断拷贝进行深拷贝一个数组或者对象,如果是数组就复制数组,如果是对象就复制对象varobjClone=Array.isArray(obj)?[]:{};//深拷贝不能为空,且为对象orif(obj&&typeofobj==="object"){for(keyinobj){if(obj.hasOwnProperty(key)){if(obj[key]&&typeofobj[key]==="object"){objClone[key]=deepClone1(obj[key]);}else{objClone[key]=obj[key];}}}}返回对象克隆;}2。通过JSON对象实现深拷贝//通过js内置对象JSON数组对象函数的深拷贝deepClone2(obj){var_obj=JSON.stringify(obj),objClone=JSON.parse(_obj);返回对象克隆;}3。深拷贝ararray=[1,2];varnewArray=$.extend(true,[],array);