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

Posted ycxiaoyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象数组 深度复制,支持对象嵌套数组数组嵌套对象相关的知识,希望对你有一定的参考价值。

对象复制

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;
}

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


























以上是关于对象数组 深度复制,支持对象嵌套数组数组嵌套对象的主要内容,如果未能解决你的问题,请参考以下文章

对象和数组的 ECMAScript5 深拷贝

在 ES6 深度嵌套的对象的 javascript 数组中查找值

更新 mongodb 中的嵌套数组

Java - 如何反序列化带有嵌套对象和列表的 JSON 数组? [复制]

如何将嵌套数组对转换为数组中的对象

如何通过嵌套对象属性对 JavaScript 对象数组进行排序?