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 只要找到目标值,就会跳出循环
相关推荐
掘金安东尼几秒前
⏰前端周刊第 453 期(2026年2月9日-2月15日)
前端·javascript·面试
电商API_180079052472 分钟前
京东商品评论API接口封装的心路历程
服务器·开发语言·爬虫·数据分析·php
Wcowin6 分钟前
为Zensical添加 GitHub 仓库卡片
javascript·github·zensical
扶尔魔ocy12 分钟前
【转载】QT使用linuxdeployqt打包
开发语言·qt
好家伙VCC27 分钟前
# 发散创新:基于Python的TTS语音合成实战与优化策略 在人工智能加速落地的今天,**文本转
java·开发语言·人工智能·python
飘逸飘逸34 分钟前
Autojs进阶前言
android·javascript
叫我一声阿雷吧41 分钟前
JS 入门通关手册(01)|零基础入门:JavaScript 到底是什么?学完能干嘛?
javascript·前端入门·js入门
等D春C夏X44 分钟前
最终版C++11/14/17学习大纲(精准核对42条条款)
java·开发语言
iameyama1 小时前
Amazon Redshift 和 BigQuery 数据类型区别
java·开发语言