用for循环或者forEach遍历数组的话,在方法体内部splice都得不到正确的结果,解决方法是使用逆向循环
方法一,用 filter
var arr = [2, 3, 5, 7];
arr = arr.filter(item => item !== 5);
方法二,用逆向循环
var arr = [2, 3, 5, 7];
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i] === 5) {
arr.splice(i, 1);
}
}
网友评论