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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle PL/SQL编程详解之三: PL/SQL流程控制语句

    Oracle PL/SQL编程详解之三: PL/SQL流程控制语句[推荐]Oracle PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) 本篇主要内容如下:3.1  条件语句3.2  CASE 表达式3.3  循环3.4  标号和GOTO3.5  NULL 语句 介绍PL/SQL的流程控制语句, 包括如下三类:

    2022年6月17日
    28
  • Python爱心表白代码[通俗易懂]

    Python爱心表白代码[通俗易懂]调用turtle模块,然后在屏幕上画一个爱心,并在爱心的中间写上表白的话,爱心的右下角显示要表白的人,表白的话及要表白的人均可设置。画完爱心大约10秒,表白情话及需要表白的人均可输入中文,程序运行截图:importturtle#导入python中的画画工具包importtimedefLittleHeart():foriinrange(200):turtle.right(1)turtle.forward(2)love=input(‘请输入表白语

    2022年6月2日
    62
  • Qt 编译方式之 qmake[通俗易懂]

    Qt 编译方式之 qmake[通俗易懂]作者:billy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处QMake简介Qt的帮助文档中对于qmake是这样介绍的:qmake工具有助于简化不同平台上开发项目的构建过程。它自动生成生成makefile,因此创建每个makefile只需要几行信息。您可以将qmake用于任何软件项目,无论它是否使用qt编写。qmake是Qt工具包中带的一个非常…

    2022年5月19日
    33
  • 深蓝病毒关闭端口_445端口关闭方法

    深蓝病毒关闭端口_445端口关闭方法计算机被永恒之蓝感染后会出一些不明所以的问题,我电脑上不定时蓝屏,同事电脑上也是,网上搜索了解决方法,包括以下几种:1)使用360杀毒,记得用最新的版本。2)自己下windows对应补丁。3)关闭445端口。——————————————————-注意:(1)关闭了445端口要重启后才会…

    2022年10月17日
    4
  • linux防火墙状态查看_linux查看iptables状态

    linux防火墙状态查看_linux查看iptables状态1.查看防火墙状态:active(running)即是开启状态:systemctlstatusfirewalld2.查看已开发端口命令:firewall-cmd–list-all3.新增防火墙开放端口:firewall-cmd–zone=public–add-port=3306/tcp–permanent4.开放端口后需要重新加载防火墙:firewall-cmd–reload5.firewalld的基本使用命令:启动:systemctls.

    2025年11月12日
    2
  • python读取pkl_Python 读取文件

    python读取pkl_Python 读取文件使用python读取pkl文件内容可能会出现一些错误,下面将介绍一些解决的方法。importcPicklef=open(‘subj0.pkl’)#文件所在路径inf=cPickle.load(f)#读取pkl内容printinff.close()有时候,还是出现错误EOFEORROR,可以通过合并第2,3行,即:inf=cPickle.load(open(‘subj

    2025年10月12日
    5

发表回复

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

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