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 只要找到目标值,就会跳出循环
相关推荐
小陈工4 分钟前
2026年3月24日技术资讯洞察:边缘AI商业化,Java26正式发布与开源大模型成本革命
java·运维·开发语言·人工智能·python·容器·开源
方安乐21 分钟前
Javascript工具库:classnames
开发语言·javascript·ecmascript
labixiong21 分钟前
React Hooks 闭包陷阱:高级场景与深度思考
前端·javascript·react.js
xushichao198923 分钟前
C++中的中介者模式
开发语言·c++·算法
Hello.Reader25 分钟前
从零开始安装 Qt完整新手教程(1)
开发语言·qt
娇娇yyyyyy27 分钟前
QT编程(19) : Qt 实现自定义delegate
开发语言·数据库·qt
AI科技星29 分钟前
基于wr/c + h/c = 1的螺旋线矢量特性及应用分析
c语言·开发语言·人工智能·opencv·算法·计算机视觉·r语言
颜酱32 分钟前
回溯算法专项突破练习(1)
javascript·后端·算法
xiaomo224942 分钟前
javaee-多线程进阶
java·开发语言
无敌秋1 小时前
C++ public, private, protected类的继承
开发语言·c++