深拷贝与数据扁平化封装打开即用
//深拷贝
deepCopy(obj, cache = new WeakMap()) {
if (typeof obj !== 'object' || obj === null) {
return obj;
}
if (cache.has(obj)) {
return cache.get(obj);
}
var copy = Array.isArray(obj) ? [] : {};
cache.set(obj, copy);
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
copy[key] = this.deepCopy(obj[key], cache);
}
}<