美文网首页
深拷贝具体版,非完全,但大部分都可以

深拷贝具体版,非完全,但大部分都可以

作者: 冬至_5b58 | 来源:发表于2020-05-05 14:32 被阅读0次
    // 检查类型函数
    export const checkType = data => Object.prototype.toString.call(data).slice(8, -1)
    // 深复制数据函数
    export const deepClone = target => {
      let targetType = checkType(target)
      let result
      if (targetType === 'Object') {
        result = {}
      } else if (targetType === 'Array') {
        result = []
      } else {
        return target
      }
      for (let i in target) {
        let value = target[i]
        let valueType = checkType(value)
        if (valueType === 'Object' || valueType === 'Array') {
          result[i] = deepClone(value)
        } else {
          result[i] = value
        }
      }
      return result
    }
    

    相关文章

      网友评论

          本文标题:深拷贝具体版,非完全,但大部分都可以

          本文链接:https://www.haomeiwen.com/subject/aquhjhtx.html