1. 程式人生 > >一次性刪除一個數組中多個元素

一次性刪除一個數組中多個元素

正常的迴圈刪除,在刪除第一個的時候陣列內元素的下標已經被改變,所以無法使用常規的迴圈刪除。以下兩種方法可以正常刪除一個數組中多個指定元素

1、filter

let arr = [1, 3, 5, 7, 9];
arr = arr.filter(item => item !== 5);

2、逆向迴圈(從尾部開始向前查詢,這樣還沒有被查到的元素位置也不會被改變)

let arr = [2, 3, 5, 7];
for (let i = arr.length - 1; i >= 0; i--) {
    if (arr[i] === 5) {
        arr.splice(i, 1);
    }
}