用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); } }