Vue实现对数组、对象的深拷贝、复制

方法一javascript

const clone = (obj) => {
  var o;
  // 若是  他是对象object的话  , 由于null,object,array  也是'object';
  if (typeof obj === 'object') {
    
    // 若是  他是空的话
    if (obj === null) {
      o = null;
    }
    else {
  
      // 若是  他是数组arr的话
      if (obj instanceof Array) {
        o = [];
        for (var i = 0, len = obj.length; i < len; i++) {
          o.push(clone(obj[ i ]));
        }
      }
      // 若是  他是对象object的话
      else {
        o = {};
        for (var j in obj) {
          o[ j ] = clone(obj[ j ]);
        }
      }
      
    }
  }
  else {
    o = obj;
  }
  return o;
};

export default clone;

 

方法二java

computed: {  
     data: function () {  
         var obj={};  
         obj=JSON.parse(JSON.stringify(this.templateData)); //this.templateData是父组件传递的对象  
         return obj  
    }  
 }

参考地址数组

相关文章
相关标签/搜索