zoukankan      html  css  js  c++  java
  • 深拷贝巧妙写法

    var obj1 = {
          name:{
            lishishi:'bai'
          },
          age:12,
          sex:['nan','nv'],
          no:null
        }
        
        const deepClone = (str)=>{
          let obj
          if(Object.prototype.toString.call(str) === '[object Undefined]')throw new Error('不可进行深拷贝')
          if(Object.prototype.toString.call(str) === '[object Null]')return null
          Array.isArray(str)?obj = []:obj = {}
          for(let key in str){
            let val = str[key]
            if(typeof val === 'object' && val !== null){
              obj[key] = deepClone(val)
            }else{
              obj[key] = val
            }
          }
          return obj
        }
        
        let obj2 = deepClone(obj1)
        console.log(obj2)
  • 相关阅读:
    HNOI 2006 BZOJ 1195 最短母串
    BZOJ 3029 守卫者的挑战
    Codeforces 401D Roman and Numbers
    ZJOI2010 数字计数
    BZOJ 3329 Xorequ
    Codeforces 235 C
    SPOJ 8222 Substrings
    BZOJ 1396 识别子串
    (模板)归并排序
    poj3122 Pie (二分)
  • 原文地址:https://www.cnblogs.com/MDGE/p/13209260.html
Copyright © 2011-2022 走看看