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 只要找到目标值,就会跳出循环
相关推荐
BreezeJiang1 分钟前
从一棵树到一亿人:算法世界的"深搜"哲学
javascript
廖磊AI编程7 分钟前
AI 编程项目缺少 Bun 时,如何用 BVM 安装和验证运行时
javascript
我命由我123459 分钟前
Jetpack Room - Room 查询返回列表无需判空、LIKE 关键字
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
#麻辣小龙虾#18 分钟前
vue3基于leaflet.js实现地图编辑功能
javascript·ecmascript·leaflet.js
goodluckyaa19 分钟前
Warp shuffle函数
开发语言
j7~20 分钟前
【C++】STL--Vector容器--拆析解剖Vector的实现以及Vector的底层详解(1)
开发语言·c++·vector·迭代器失效·迭代器的使用
AHRIKNOW23 分钟前
写一个 Fetch 封装库,没那么简单
javascript
xxwl58526 分钟前
Python语言初步认识(1)
开发语言·python·学习
渣波26 分钟前
手把手教你写出优雅的 API 接口调用
前端·javascript
spmcor27 分钟前
JavaScript 日期限制的“三个月陷阱”:从边界溢出到稳健实现
javascript