JS三种对象深拷贝的方法
1.JSON.parse(JSON.stringify(obj));
局限性:当值为undefined、function、symbol 会在转换过程中被忽略。。。
2.原生js实现:
function deepCopy(obj) {
varresult = Array.isArray(obj) ? [] : {};
for(varkeyin obj) {
if (obj.hasOwnProperty(key)) {
if(typeofobj[key] ==='object' && obj[key]!==null) {
result[key] = deepCopy(obj[key]); //递归复制
} else {
result[key] = obj[key];
}
}
}
return result;
}
3.JQ方法:$.extend( true, target, ...sources);