其他分享
首页 > 其他分享> > 如何在for循环中剔除满足条件的元素

如何在for循环中剔除满足条件的元素

作者:互联网

业务开发过程站常常需要在for循环中将某个元素剔除,按照常规的思路,就是对数组进行一个for循环,然后在循环里面进行if判断,在判断中删除掉指定元素即可。但是由于数组下标的问题,实际情况往往不会像预想的那样顺利运行。如下所示:

var arr = [1, 2, 2, 3, 4, 5];
    for (var i = 0; i < arr.length; i++){
        // 打印数组中的情况,便于跟踪数组中数据的变化
        console.log(i + ' = ' + arr[i]);
        // 删除掉所有为2的元素
        if(arr[i] === 2) {
            arr.splice(i, 1);
        }
    }
    console.log(arr);//[1,2,3,4,5]

  此时需要做如下改动,才能达到以下效果:

var arr = [1, 2, 2, 3, 4, 5];
    for (var i = 0; i < arr.length; i++){
        // 打印数组中的情况,便于跟踪数组中数据的变化
        console.log(i + ' = ' + arr[i]);
        // 删除掉所有为2的元素
        if(arr[i] === 2) {
            arr.splice(i--, 1);
        }
    }
    console.log(arr);

  

标签:满足条件,arr,console,log,元素,数组,var,剔除
来源: https://www.cnblogs.com/SpringAndMoon/p/13936533.html