ES5深拷贝函数封装,十几行搞定:
上代码
function deepClone(obj,tar){
var tar = tar || {}
for (var k in obj){
if(obj.hasOwnProperty(k)){
if(typeof obj[k] === 'object' && obj[k] !== null){
tar[k] = Object.prototype.toString.call(obj[k]) === '[object Array]' ? [] :{}
deepClone(obj[k],tar[k])
}else {
tar[k] = obj[k]
}
}
}
return tar
}
看结果
轻轻松松,简简单单,搞定面试题~👍