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 分钟前
JS 入门通关手册(21):原型链:JS 继承的底层原理
开发语言·javascript·前端面试·原型链·js继承·js进阶·js面向对象
是Yu欸13 分钟前
LangGraph 智能体状态管理与决策
java·javascript·数据库
猫墨*14 分钟前
springboot3、knife4j-openapi3配置动态接口版本管理
java·开发语言
weixin_5316518115 分钟前
Python 渐进式学习指南
开发语言·windows·python
weixin_6495556716 分钟前
C语言程序设计第四版(何钦铭、颜晖)第八章指针之在数组中查找指定元素
c语言·开发语言
齐鲁大虾19 分钟前
如何在HTML/JavaScript中禁用Ctrl+C
前端·javascript·html
add45a21 分钟前
C++中的原型模式
开发语言·c++·算法
代码s贝多芬的音符21 分钟前
Android NV21 转 YUV 系列格式
android·开发语言·python
2401_8442213222 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
2201_7538777922 分钟前
高性能计算中的C++优化
开发语言·c++·算法