JavaScript中,数据类型有原始类型和对象类型两种类型,其中如果想要对对象进行简单地复制很简单,但是当要复制的对象中存在某一个属性的值类型是对象或者数组时,就不能进行简单的复制,要对对象进行深拷贝操作。本文介绍js深拷贝对象的方法:1、利用json对象深拷贝对象;2、利用递归的方式深拷贝对象;3、利用ES6对象扩展运算符(…)深拷贝对象。
方法一:利用json对象深拷贝对象
varobj={ name:'FungLeo', sex:'man', old:'18' } varobj2=JSON.parse(JSON.stringify(obj))
方法二:利用递归的方式深拷贝对象
functiondeepCopy(s){ consttarget={} for(letkins){ if(typeofs[k]=='object'){ d[k]=deepCopy(s[k]) }else{ d[k]=s[k] } } returntarget } console.log(deepCopy(a));
方法三:利用ES6对象扩展运算符(…)深拷贝对象
constobj={ name:'ha', age:10 } constobj2={ obj:{ ...obj } }原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容