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

浅拷贝:复制引用地址 ; 深拷贝:复制对象

方法一

JSON.parse(JSON.stringify())

示例:

computed: {

data: function () {

var obj={};

obj=JSON.parse(JSON.stringify(this.templateData)); //this.templateData是父组件传递的对象

return obj

}

}

方法二

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;

你可能感兴趣的:(vue,拷贝,数组)