深拷贝与浅拷贝

82 阅读1分钟

浅拷贝: 如果是对象或者数组,就会只拷贝对象和数组的引用,无论对新旧数组的哪一个进行了修改,两者都会发生变化。例如:

image.png

如果数组元素是基本类型,就会拷贝一份,互不影响,例如:

image.png

深拷贝:

1、JSON.parse(JSON.stringify(arr))

2、arr1=[1,2,3] for(let i=0;i<arr1.length;i++){arr2[i]=arr1[i]}

3、var arr1 = [1,2,3]; var arr2 = Array.from(arr1)

4、arr1 = [1,2,3]; arr2=[...arr1]