js一次性删除一个数组中多个元素

正常的循环删除,在删除第一个的时候数组内元素的下标已经被改变,所以无法使用常规的循环删除。以下两种方法可以正常删除一个数组中多个指定元素.

1、逆向循环(从尾部开始向前查找,这样还没有被查到的元素位置也不会被改变)

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

2、filter过滤器

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

 

posted @   张小中  阅读(3384)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示