/**
* @desc 深度拷贝数组/对象
* @param obj - 需要克隆的数组/对象
* @returns 克隆后的数组/对象
*/
/* eslint-disable */
// let window = Window & {JSON};
/* eslint-enable */
export function deepClone(obj) {
let str;
let newobj = obj.constructor === Array ? [] : {};
if (typeof obj !== "object") {
return;
} else if (window.JSON) {
str = JSON.stringify(obj);
newobj = JSON.parse(str);
} else {
for (const i in obj) {
newobj[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i];
}
}
return newobj;
}
使用如下:
import { deepClone } from "@/utils/deepClone";
let helpTableData = deepClone(this.tableData);