地铁上无聊手写个深拷贝
浅拷贝:
function clone(oldValue){
var res
for(var key in oldValue){
res[key] = oldValue[key]
}
return res
}
深拷贝:核心思想是递归调用,如果遇到对象中内嵌的属性还是引用类型,那么再次调用克隆函数进行拷贝
1>.json序列化在转对象 工作上用的比较多
function deepClone(oldValue){
return JSON.parse(JSON.stringify(oldValue))
}
2>.
function deepClone(oldValue){
if (oldValue == undefined){
return oldValue
}
if (typeof oldValue !== "object"){
return oldValue
}
let res = Array.isArray(oldValue)?[]:{}
for (var key in oldValue){
res[key] = deepClone(oldValue)
}
return res
}