js如何深拷贝一个对象

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
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容