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 只要找到目标值,就会跳出循环
相关推荐
RSTJ_162510 小时前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
kyriewen10 小时前
开源|Image Harvest v1.0.5:AI 智能标签 + Eagle 导出,设计师和开发者的图片工作流神器
前端·javascript·ai编程
覆东流11 小时前
Java开发环境搭建
java·开发语言·后端
阿洛学长11 小时前
VMware安装虚拟机教程(超详细)
java·linux·开发语言
rit843249911 小时前
链路预测(Link Prediction)MATLAB 实现
开发语言·matlab
jiayong2311 小时前
01 检查 Python 版本与环境
开发语言·python
就叫_这个吧11 小时前
Java普通类、抽象类、接口的应用和区别
java·开发语言
梅孔立11 小时前
解决Nginx缓存不写入响应体问题:浏览器强制不缓存配置教程
java·开发语言·nginx·spring
代码改善世界11 小时前
【C++进阶】红黑树模拟实现mymap和myset
开发语言·c++
zzj_26261011 小时前
实验七 Python 文件操作与异常处理
开发语言·python