狸猫换太子 式
let a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
a.forEach((v, i, arr) => {
if (v === 5) {
a = [...a];
arr.splice(i);
}
})
console.log(a);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
这种方法打印的a其实已经是另一个数组对象了。
在中断的时候进行了一次浅拷贝,并把用于循环的数组裁剪了。