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