实现深拷贝的两种方法:1 迭代递归 2 序列化反序列化

// 迭代递归法:深拷贝对象与数组
function deepClone(obj) {
    if (!isObject(obj)) {
        throw new Error('not object!')
    }

    let isArray = Array.isArray(obj)
    let cloneObj = isArray ? [] : {}
    for (let key in obj) {
        cloneObj[key] = isObject(obj[key]) ? deepClone(obj[key]) : obj[key]
    }

    return cloneObj
}

2 序列化反序列化

// 序列化反序列化法
function deepClone(obj) {
    return JSON.parse(JSON.stringify(obj))
}

  

相关文章:

  • 2022-12-23
  • 2021-09-15
  • 2021-05-25
  • 2022-12-23
  • 2021-09-08
  • 2021-07-16
  • 2021-04-12
  • 2021-10-14
猜你喜欢
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
相关资源
相似解决方案