JS中arr.forEach()如何跳出循环

示例

我们都知道for循环里要跳出整个循环是使用break,但在数组中用forEach循环如要退出整个循环呢?使用break会报错,使用return也不能跳出循环。

使用break将会报错:

1var arr = [1,2,3,4,5]; 2var num = 3; 3arr.forEach(function(v){ 4 if(v == num) { 5 break; 6 } 7 console.log(v); 8});

使用return也不能跳出整个循环:

1var arr = [1,2,3,4,5]; 2var num = 3; 3arr.forEach(function(v){ 4 if(v == num) { 5 return; 6 } 7 console.log(v); 8});

那么在用forEach()遍历数组时要如何才能跳出循环呢?经过查找资料后,我找到了两种方法可以实现跳出循环。

第一种方法:使用try···catch捕获异常实现

1try{ 2 var array = ["first","second","third","fourth"]; 3 array.forEach(function(item,index){ 4 if(item == "third"){ 5 var a = aaaa;// first second 后就报错,就跳出循环了 6 throw new Error("ending");//报错,就跳出循环 7 }else{ 8 log(item); 9 } 10 }) 11}catch(e){ 12 if(e.message == "ending"){ 13 log("结束了") ; 14 }else{ 15 log(e.message); 16 } 17} 18

第二种方法:使用arr.some()或者arr.every()替代

some()当内部return true时跳出整个循环:

1var arr = [1,2,3,4,5]; 2var num = 3; 3arr.some(function(v){ 4 if(v == num) { 5 return true; 6 } 7 console.log(v); 8});

every()当内部return false时跳出整个循环

1var arr = [1,2,3,4,5]; 2var num = 3; 3arr.every(function(v){ 4 if(v == num) { 5 return false; 6 }else{ 7 console.log(v); 8 return true; 9 } 10}); 11

本文转自 https://blog.csdn.net/guxin_duyin/article/details/82980062,如有侵权,请联系删除。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Shell编程基础

本文索引:for循环while循环break跳出循环continue结束本次循环exit退出整个脚本for循环语法:for变量名in条件;do...;donefor循环实例循环计算计算1100的和!/bin/b

C语言二次系统学习3(分支循环、函数)

本次学习,主要针对语句和函数两部分进行学习。分支语句(if,switch)与循环语句(while,for,dowhile)switch语句中,在每个选择之后如果不进行break跳出,会执行下一个case,而且应注意default语句的使用,一般会放在{}代码块的后方dowhile语句中,会首先执行一次循环,再进行判定,所以使用相对较少。whi