1、通过 JSON 对象实现深拷贝
const newData = JSON.parse(JSON.stringify(oldData))
2.迭代递归方法
function deepCopy(obj) {
let objArray = Array.isArray(obj) ? [] : {};
if (obj && typeof obj === "object") {
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] && typeof obj[key] === "object") {
objArray[key] = deepCopy(obj[key]);
} else {
objArray[key] = obj[key];
}
}
}
}
return objArray;
}
3.jQuery中extend
jQuery.extend([deep], target, object1, [objectN])
let newObj = $.extend(true, {}, obj)
4.lodash工具库
var obj = [{ 'name': 'xiaoming' }, { 'age': 12 }];
var deep = _.cloneDeep(obj);
console.log(deep[0] === obj[0]);