const deepClone = target => {if (typeof target !== 'object') {return target}let cloneTarget = Array.isArray(target) ? [] : {}for (const key in target) {cloneTarget[key] = deepClone(target[key])}return cloneTarget}
- 是对象吗?不是返回,是则继续
- 是数组吗?是则定义数组,否则定义对象
- for in 遍历,使用递归
- 递归结束后返回定义的值
