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

1 for循环跳出

javascript 复制代码
for(let i=0;i<10;i++){
    if(i===5){
        break;
    }
    console.log(i)
}

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

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

for ... of效果同上

2 forEach循环跳出

break会报错

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

return不能跳出forEach循环

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

try...catch可以跳出循环

javascript 复制代码
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)
}

3 替代方案

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

  • some 只要有一项为true,跳出循环。
  • every 只有每一项都返回true,函数返回true ,所以只要有一项不是true就会跳出循环
  • find 只要找到目标值,就会跳出循环
相关推荐
@大迁世界8 小时前
11.在 React.js 中,state 与 props 的差异体现在哪里?
前端·javascript·react.js·前端框架·ecmascript
Giant1008 小时前
🔥前端跨域封神解法:Vite Proxy + Express CORS,一篇搞定所有跨域坑!
前端·javascript·面试
c++逐梦人8 小时前
C++11——— 包装器
开发语言·c++
zihao_tom9 小时前
Go环境搭建(vscode调试)
开发语言·vscode·golang
像我这样帅的人丶你还9 小时前
JavaScript 迭代器详解
前端·javascript
Lazy_zheng9 小时前
Map / Set / WeakMap / WeakSet,一次给你讲透
前端·javascript·面试
IT方大同9 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
阿kun要赚马内9 小时前
Python面向对象:@property装饰器
开发语言·前端·python
sunwenjian8869 小时前
Java进阶--IO流
java·开发语言
wildlily84279 小时前
C++ Primer 第5版章节题 第十三章(二)
开发语言·c++