vue中退出循环的方法

forEach
forEach不能使用break和continue。return也无法退出循环。

使用break,会报错(报错信息:SyntaxError: Illegal break statement)。

使用continue,会报错(报错信息:SyntaxError: Illegal continue statement: no surrounding iteration statement)

使用return,只能跳出本次循环,并不能终止循环。

退出循环的方法:
1. 仍用 forEach:但加上try...catch...

try{

    this.userList.forEach( u => {

        if( u.username === "admin"){

            alert("找到admin用户");

            throw new Error("已找到,退出循环");

        }

    })

}catch(e){

    console.log(e) 

};

  

注意:此方法将退出循环,继续执行该函数内 循环后面的代码。

若想直接退出当前函数,catch里必须有return。即try{}catch(){...return}

 

2. 改用 for循环 

for(let i=0;i<this.userList.length;i++){

    if( this.userList[i].username === "admin"){

        alert("找到admin用户");

        break;

    }

}

 

注意:此方法将退出循环,继续执行该函数内 循环后面的代码。

若想直接退出当前函数,将break改为return。

 

3. 改用 some( )

this.userList.some( u =>{

    if( u.username === "admin"){

        alert("找到admin用户");

        return true; 

    }

})

 

注意:some只有循环内部return true才会退出循环,继续执行该函数内 循环后面的代码。

 

4. 改用 every( )

this.userList.every( u =>{

    if( u.username === "admin"){

        alert("找到admin用户");

        return false; 

    }else{

        return true;

})

 

注意:every只要循环内部return false就会退出循环,继续执行该函数内 循环后面的代码。

posted @ 2023-03-30 11:24  翘中之楚  阅读(3529)  评论(0编辑  收藏  举报