浅拷贝:在对js数组进行操作时,我们常需要对数组进行赋值备份,但如果只是简单的把它赋值给其它变量的话,只需要随便更改一个值,其它的也会跟着改变。
var data = ['rng','skt','fake'],
ost = data;
ost[0] = 'haha';
console.log(data,ost);
解决方法一:js的slice()方法
var data = ['rng','skt','fake'],
ost = data.slice(0);
ost[0] = 'haha';
console.log(data);//console.log(['rng','skt','fake'])
console.log(ost);//console.log(['hehe','skt','fake'])
解决方法二:concat();
var data = ['rng','skt','fake'],
ost = data.concat();
ost[0] = 'haha';
console.log(data);//console.log(['rng','skt','fake'])
console.log(ost);//console.log(['hehe','skt','fake'])
深拷贝大佬地址:https://www.cnblogs.com/miyosan/p/10478254.html