发现vue.js 再使用forEach时,break或return无法跳出循环。经过查阅资料,发现两种方法可以跳出循环,在此记录

方法一:使用try{...}catch(e){...}

try{

        var array = ["a1","b2","c3","d4"]

        //forEach遍历数组

        array.forEach(function(item){

                if(item === "b2"){

                        throw new Error("false")

                }

        })

}catch(e){

        if(e.message == 'false'){

                return

        }

}

方法二:使用arr.some()或者arr.every()替代

some()当内部return true时跳出整个循环:

var arr = [10,20,30,40];

var num = 20;

arr.some(function(v){

  if(v == num) {

    return true;

  }

});

every()当内部return false时跳出整个循环

var arr = [10,20,30,40];

var num = 20;

arr.every(function(v){

    if(v == num) {

        return false;

    }else{

        return true;

    }

});

Logo

前往低代码交流专区

更多推荐