浅克隆
- 使用
arr1=arr2的语法不会克隆数组,因为指向同一个内存空间, 两个变量并没有分开- 浅克隆:只克隆数组的第一层,如果是多维数组,或者数组中的项是其他引用类型值,则不克隆>其他层, 藕断丝连
- 深克隆:克隆数组的所有层,要使用递归技术
变量
let c = 2;
let d = c;
c++;
console.log(d); //2
console.log(c); //3
不论c怎么变,都不会影响到d
浅克隆
let a = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let b = [];
for (let i = 0; i < a.length; i++) {
b.push(a[i]);
}
a.push(10);
console.log(a); //[1,2,3,4,5,6,7,8,9,10]
console.log(b); //[1,2,3,4,5,6,7,8,9]
1.浅克隆用for循环数组遍历
2.一次次的给b加数组项
3.只适用于一维数组