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 只要找到目标值,就会跳出循环
相关推荐
是苏浙23 分钟前
零基础入门C语言之C语言实现数据结构之栈
c语言·开发语言·数据结构
后端小张28 分钟前
【JAVA 进阶】SpringBoot 事务深度解析:从理论到实践的完整指南
java·开发语言·spring boot·后端·spring·spring cloud·事务
荔枝吖34 分钟前
html2canvas+pdfjs 打印html
前端·javascript·html
y***54881 小时前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎
郝学胜-神的一滴1 小时前
Python高级编程技术深度解析与实战指南
开发语言·python·程序人生·个人开发
起名时在学Aiifox1 小时前
深入解析 Electron 打包中的 EPERM: operation not permitted 错误
前端·javascript·electron
charlie1145141911 小时前
使用 Poetry + VS Code 创建你的第一个 Flask 工程
开发语言·笔记·后端·python·学习·flask·教程
Codeking__1 小时前
查缺补漏c语言——c标准字符串函数
c语言·开发语言
铅笔小新z1 小时前
【C++】从理论到实践:类和对象完全指南(中)
开发语言·c++
千疑千寻~1 小时前
【C++】std::move与std::forward函数的区别
开发语言·c++