let arrtest = [1,2,3];
let arrcopy = arrtest;
arrcopy[2] = 1;
console.log(arrtest) // [1,2,1]
console.log(arrcopy) // [1,2,1]
js引用对象或者数组,直接引用当引用的值改变后,同样也会改变原始数组。问题解决起来很简单,但工作中一不注意常常就会犯这种错误。
//数组解决方式:
//第一种方式
let arrcopy = [...arrtest];
// 第二种方式
let arrcopy =arrcopy.concat([]);
//对象解决方式:
obj = {a:1,b:2};
//第一种方式
newobj = {...obj};
// 第二种方式
Object.assign({},obj)