再做一个小游戏,需求是当前数组修改前需要记录下当前的内容,网上搜了一堆,还有什么W3C的,一个都用不了,都是同时修改,
let arr = [1,2,3,];
let arr1 = arr.clone();
let arr1 = arr.concat();
let arr1 = arr.slice();
又或者遍历直接插进去:
arr .forEach(item => {
arr1 .push(item);
})
全部都不行,最后发现一个可以改变引用的神器!
JSON.stringify( arr );
JSON.parse( arr );
先把数组转成Json再转回去,先转再转就可以完美避开同时修改的问题了!
let arr1 = JSON.parse(JSON.stringify(arr));