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 分钟前
Kotlin 条件判断 if / when 与智能转换 smart cast
开发语言·python·kotlin
云深处@13 分钟前
【项目一】高并发内存池
java·开发语言
阿里嘎多学长19 分钟前
2026-05-04 GitHub 热点项目精选
开发语言·程序员·github·代码托管
山峰哥19 分钟前
SQL性能提升20倍的秘密:这些优化技巧让DBA都惊叹
开发语言·数据库·sql·编辑器·深度优先·宽度优先
openKaka_29 分钟前
为什么 React 18 之后使用 createRoot,而不是 ReactDOM.render
前端·javascript·react.js
2zcode30 分钟前
基于MATLAB的家用场景下扫地机器人路径规划研究设计
开发语言·matlab·机器人
书源丶36 分钟前
三十九、Java 枚举——固定常量的「安全卫士」
java·开发语言
WindrunnerMax39 分钟前
基于 Markdown-It 的无序列表折叠插件
前端·javascript·github
上弦月-编程1 小时前
高效编程利器:转移表技术解析
c语言·开发语言·数据结构·算法·排序算法
神三元1 小时前
最近半年,我做了个 AI-Native 的 Agent 从零到进阶教程
前端·javascript·面试