JS遍历从数组中删除指定元素,arr是目标数组,aim是目标比较项
如果每次遍历所有内容时都需要删除一个或多个元素,则可以使用以下两种方法: 结果是正确的,但不建议在数组更改后更改索引值。
使用//for (vari=0; i arr.length; I ) if(arr[I]==aim ) arr.splice(I,1 ); }//或arr.foreach((item,I )=) if ) item==aim ) ) arr.splice ) I,1 ); } )如果每次遍历所有内容时都有一个或多个元素需要删除,则上述方法会出现问题,并且必须考虑I项已被删除的自减少。 如下所示,forEach不支持使用
for(varI=0; i arr.length; I ) if(arr[I]==aim ) arr.splice(I,1 ); I----; //i必须自减少。 否则,每次删除时原始数组索引都会发生变化}