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 只要找到目标值,就会跳出循环
相关推荐
এ慕ོ冬℘゜17 小时前
原生 JS 手写日期选择器|完整可复用日历组件实战
前端·javascript·css
Maimai1080817 小时前
用 TanStack Table、React Query 和 shadcn/ui 搭一个可维护的数据表格架构
前端·javascript·react.js·ui·架构·前端框架·reactjs
東雪木17 小时前
Java 基础语法与核心数据类型 专属复习笔记
java·开发语言·笔记·java面试
ch.ju17 小时前
Java程序设计(第3版)第四章——方法的重载
java·开发语言
蜡笔小电芯17 小时前
【Electron】第4章—renderer.js 与页面交互逻辑
javascript·electron·交互
ch.ju17 小时前
Java Programming Chapter 4——Overloading of method
java·开发语言
Teable任意门互动17 小时前
拆解 Teable 背后研发主体,开源多维表格平台实力与落地案例
开发语言·开源·excel·飞书·开源软件
吃好睡好便好17 小时前
用直接输入的方式创建矩阵
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵
NiKick17 小时前
理解C++中的构造函数如何影响对象初始化
开发语言·c++
海上彼尚17 小时前
Nodejs也能写Agent - 9.Mastra篇 - Mastra客户端
开发语言·前端·javascript·人工智能·node.js