1 | var obj1={ |
对象和函数都是对象引用的关系,obj1和obj2指向同一个内存地址,所以当obj2改变时,也会影响到obj1
1 | var a=[1,2,3]; |
数组的深拷贝
1.for循环实现数组的深拷贝
1 | var arr=[1,2,3,4,5]; |
2.slice方法实现数组的深拷贝
1 | var arr=[1,2,3]; |
3.concat方法实现数组的深拷贝
1 | var arr=[1,2,3]; |
4.ES6拓展运算符实现数组的深拷贝
1 | var arr=[1,2,3] |
对象的深拷贝
1.for循环实现数组的深拷贝
1 | var obj={ |
2.转化成json再转化成对象实现对象的深拷贝
1 | var obj={ |
3.拓展运算符实现对象的深拷贝
1 | var obj={ |
4.通过对象的Object.assigns()合并方法实现对象的深拷贝
1 | var obj={ |
补充:使用ES6数组去重
1 | var arr = [1,2,2,3,3,4,4,5,5] |