js 实现简易版深拷贝
Post on 2021-10-27
126
0
可以兼容对象和数组类型数据的深拷贝
function copy(ladel){
var obj = {}
for(var i in ladel){
if(typeof ladel[i] == "object"){
obj[i] = copy(ladel[i])//递归
}else{
obj[i] = ladel[i]
}
}
return obj
}
//测试一下
var objects = {
name : "obj",
obj : {
key : 1,
value : 6
},
arr :[
0,{number:10}
]
}
var value = copy(objects)
objects.name = "arr"
objects.obj.key = 2
objects.arr[1].number = 6
console.log(value)
使用JSON 实现深拷贝
var objects = {
name : "obj",
obj : {
key : 1,
value : 6
},
arr :[
0,{number:10}
]
}
var value = JSON.parse(JSON.stringify(objects))
不过在使用JSON 进行深拷贝时会过滤掉undefined的数据,必要时还是要自己写一个
暂无评论