对象、数组 深度复制,支持对象嵌套数组、数组嵌套对象

对象复制

Object.prototype.maps = function(){
  let newObj = new Object();
  let that = this;
  Object.keys(that).forEach(function(k){
    if( that[k].constructor == Object){
      newObj[k] = that[k].maps()
    }else if(that[k].constructor == Array){
      newObj[k] = that[k].maps()
    }else{
      newObj[k] = that[k]
    }
  })  
  return newObj;
}

数组复制

Array.prototype.maps = function(){
  let newArr = [];
  for(v of that){
    if( v.constructor == Object ){
      newArr.push(v.maps())
    }else if( v.constructor == Array ){
      newArr.push(v.maps())
    }else{
      newArr.push(v)
    }
  }
  return newArr;
}

个人原创,如有意见欢迎指正

猜你喜欢

转载自www.cnblogs.com/YCxiaoyang/p/9430486.html
今日推荐