先看一个错误的例子:
arr.forEach((v,i)=>{ if(v>2){ arr.splice(i,1) } }) console.log(arr); // [1,2,4]
删除数组中大于2的元素,但是得到[1,2,4]
正确的写法:
用for循环,注意for的条件
var arr = [1,2,3,4] for( let i=arr.length-1; i>=0; i--){ if(arr[i]>2){ arr.splice(i,1) } } console.log(arr); // [1,2]