JavaScript foreach 方法跳出循环

JavaScript foreach 方法跳出循环通常 在 for 循环中跳出循环可以用 break 或者 continue 来跳出循环 break 跳出循环 continue 跳过当次循环 而有时候需要在 foreach 中跳出循环 该怎么做呢 forEach 方法用于调用数组的每个元素 并将元素传递给回调函数 对于空数组不会执行回调函数 回调函数的参数 function currentValue index arr currentValue 必需 当前元素 index 可选 当前元素的索引值 arr

通常,在 for循环中跳出循环可以用 break或者 continue 来跳出循环。
break:跳出循环;
continue:跳过当次循环。

而有时候需要在 foreach 中跳出循环,该怎么做呢?

在 forEach 中使用return:

let arr = [1,2,3,4,5,6,7,8,9]; let num = 6 arr.forEach((item)=>{ 
    if(item == num) { 
    return; } console.log('item',item); }) console.log(123) 

在 forEach 中使用break:

let arr = [1,2,3,4,5,6,7,8,9]; let num = 6 arr.forEach((item)=>{ 
    if(item == num) { 
    break; } console.log('item',item); }) console.log(123) 

在 forEach 中使用continue:

let arr = [1,2,3,4,5,6,7,8,9]; let num = 6 arr.forEach((item)=>{ 
    if(item == num) { 
    continue; } console.log('item',item); }) console.log(123) 

上面的例子可以看到,foreach不能使用breakcontinue这两个关键字。

因为 forEach 本身无法跳出循环,必须遍历所有的数据才能结束,它传入的是一个回调函数,因此形成了一个作用域,它内部所定义的变量不会像for循环一样污染全局变量。

解决方法

forEach方法跳出循环 —— 通过 try catch 抛出异常的方式跳出循环

let arr = [1,2,3,4,5,6,7,8,9]; let num = 6 try { 
    arr.forEach((item, i)=> { 
    console.log('item',item) if (item === num) { 
    throw new Error('LoopInterrupt'); //满足条件,跳出循环 } }) } catch (e) { 
    if (e.message !== "LoopInterrupt") throw e } console.log(123) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231459.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月11日 下午5:01
下一篇 2025年12月11日 下午5:22


相关推荐

  • 什么是activity的生命周期_activity切换生命周期

    什么是activity的生命周期_activity切换生命周期Activity生命周期,英文名也叫activity_lifecycle。Activity状态每个Activity在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态、暂停状态、停止状态和销毁状态这4种。运行状态当一个Activity位于返回栈的栈顶时,Activity就处于运行状态。系统最不愿意回收的就是处于运行状态的Activity,因为这会带来非常差的用户体验。暂停状态当一个Activity不再处于栈顶位置,但仍然可见时,Activity就进入了暂停状态。你可能会觉得,既然Activi

    2022年8月16日
    6
  • java获取当前时间到毫秒_java获取当前时间毫秒

    java获取当前时间到毫秒_java获取当前时间毫秒()为获取当前系统时间,也可使用当前时间戳获取时间戳三种方法执行效率比较:importjava.util.Calendar;importjava.util.Date;publicclassTimeTest{……java获得系统时间转换成字符串关键字:java有时候经常用到JAVA时间转换如字符串转换成时间,时间转换成字符串1.long字符串转换成…

    2025年9月19日
    7
  • SQL Server索引超出了数组界限解决方法

    SQL Server索引超出了数组界限解决方法有开发的同事反映远程登录 SQLServer 操作报错 索引超出了数组界限解决方法等 如下图线上数据库版本为 SQLServer201 检查后发现开发人员 SSMS 版本为 2008 版本与服务器不一致 开发人员要求登录数据库服务器操作 果断拒绝了 建议在本地打上 SP3 或者直接安装 2012 的 SSMS 安装好后问题解决

    2026年3月19日
    2
  • 推荐算法中的MF, PMF, BPMF[通俗易懂]

    推荐算法中的MF, PMF, BPMF[通俗易懂]1.矩阵分解(MF)目前推荐系统中用的最多的就是矩阵分解方法,在NetflixPrize推荐系统大赛中取得突出效果。以用户-项目评分矩阵为例,矩阵分解就是预测出评分矩阵中的缺失值,然后根据预测值以某种方式向用户推荐。常见的矩阵分解方法有基本矩阵分解(basicMF),正则化矩阵分解)(RegularizedMF),基于概率的矩阵分解(PMF)等。利用代数中SVD方法对矩阵进行分解。奇异值

    2022年5月22日
    42
  • MySQL中count(*)、count(主键id)、count(字段)和count(1)那种效率更高?「建议收藏」

    MySQL中count(*)、count(主键id)、count(字段)和count(1)那种效率更高?

    2022年2月17日
    46
  • Java生成随机字符串(三种方式)-XXOO

    Java生成随机字符串(三种方式)-XXOO1 生成的字符串每个位置都有可能是 str 中的一个字母或数字 需要导入的包是 importjava util Random length 用户要求产生字符串的长度 publicstatic intlength Stringstr abcdefghijkl

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号