js中常见的深拷贝的⽅法
建议最简单的第⼀种
1、通过 JSON 对象实现深拷贝
this.data = JSON.parse(JSON.stringify(this.vm.$store.uArr))
2、通过jQuery的extend⽅法实现深拷贝
var array = [1,2,3,4]; var newArray = $.extend(true,[],array);
3、使⽤递归的⽅式实现深拷贝
//使⽤递归的⽅式实现数组、对象的深拷贝
function deepClone1(obj) {
//判断拷贝的要进⾏深拷贝的是数组还是对象,是数组的话进⾏数组拷贝,对象的话进⾏对象拷贝
var objClone = Array.isArray(obj) ? [] : {};
/
/进⾏深拷贝的不能为空,并且是对象或者是
if (obj && typeof obj === "object") {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] && typeof obj[key] === "object") {
objClone[key] = deepClone1(obj[key]);
} else {
objClone[key] = obj[key];
}
}
}
}
return objClone;
}
4、Object.assign()拷贝
lodash有哪些方法当对象中只有⼀级属性,没有⼆级属性的时候,此⽅法为深拷贝,但是对象中有对象的时候,此⽅法,在⼆级属性以后就是浅拷贝。1
5、lodash函数库实现深拷贝
lodash很热门的函数库,提供了 lodash.cloneDeep()实现深拷贝
---------------------
中岛美嘉

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。