1. 深度克隆
function deepClone(v) {
if (!isObject(v)) return v;
let tempVal;
if (Array.isArray(v)) {
tempVal = [];
for (let i = 0; i < v.length; i++) {
tempVal[i] = deepClone(v[i]);
}
} else {
tempVal = {};
for (let key in v) {
tempVal[key] = deepClone(v[key]);
}
}
return tempVal;
}
function isObject(obj) {
return typeof obj === "object" && obj !== null;
}