js for和forEach 跳出循环 替代方案

1 for循环跳出

for(let i=0;i<10;i++){
    if(i===5){
        break;
    }
    console.log(i)
}

js for和forEach 跳出循环 替代方案_第1张图片

在函数中也可以return跳出循环

function fn(){
  for(let i=0;i<10;i++){
    if(i===5){
        return;
    }
    console.log(i)
  }
}
fn()

js for和forEach 跳出循环 替代方案_第2张图片

for ... of效果同上

2 forEach循环跳出

break会报错

[1,2,3,4,5,6,7,8,9,10].forEach(i=>{
    if(i===5){
        break;
    }
    console.log(i)
})

js for和forEach 跳出循环 替代方案_第3张图片

return不能跳出forEach循环

[1,2,3,4,5,6,7,8,9,10].forEach(i=>{
    if(i===5){
        return;
    }
    console.log(i)
})

js for和forEach 跳出循环 替代方案_第4张图片

try...catch可以跳出循环

try{
    [1,2,3,4,5,6,7,8,9,10].forEach(i=>{
        if(i===5){
            throw new Error('跳出循环');
        }
        console.log(i)
})}catch(e){
    console.log(e)
}

js for和forEach 跳出循环 替代方案_第5张图片

3 替代方案

一些情况下,可以使用some,find,every去代替foreach退出循环

  • some 只要有一项为true,跳出循环。
  • every 只有每一项都返回true,函数返回true ,所以只要有一项不是true就会跳出循环
  • find 只要找到目标值,就会跳出循环

你可能感兴趣的:(javascript,javascript,开发语言)