JS如何终止forEach循环
我们都知道for循环里要跳出整个循环是使用 break,但在数组中用forEach循环如果要退出整个循环使用break或者是return是否可以呢?
#使用break会报错:
var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){if(v == num){break}console.log(v);
});
#使用return也不能跳出整个循环:
var arr = [1,2,3,4,5];
var num = 3;
arr.forEach(function(v){if(v == num){return;}console.log(v);
});
#解决方法:
1.使用 try...catch捕获异常实现:
try {var array = [1, 2, 3, 4, 5];array.forEach((item, index) => {if (item == 3) {//执行完1 2 之后就报错,就跳出循环了throw new Error("ending"); //报错,就跳出循环} else {console.log(item);}})} catch (e) {if (e.message == "ending") {console.log("结束了");} else {console.log(e.message);}};
2.使用arr.some() 或者 arr.every() 替代:
some()当内部 return true 时跳出整个循环:
var arr = [1,2,3,4,5];
var num = 3;
arr.some(item => {if(item == num){return true; };console.log(item);
});
every()当内部 return false 时跳出整个循环:
var arr = [1,2,3,4,5];
var num = 3;
arr.every(item => {if(item == num){return false;}else{console.log(item);};
});
JS如何终止forEach循环相关推荐
- js中终止forEach循环的方法
正常终止for循环我们可以使用break关键字来实现,而在forEach循环中是不能使用break和continue这两个关键字的,为什么呢? 因为这两个关键字要在循环中使用,而forEach中所执行 ...
- js中 如何终止foreach循环?
forEach专门用来循环数组,可以直接取到元素,同时也可以取到index值 存在局限性,不能continue跳过或者break终止循环,没有返回值,不能return 终止foreach循环 :运用抛 ...
- 如何终止forEach循环
如何终止forEach循环 由于forEach无法在所有元素都传递给调用函数之前终止遍历,所以说它没有像for循环中使用的break语句,如果要提前终止的话就必须把forEach方法放在一个try/c ...
- js 终止 forEach 循环
try{var arr = ["dog","cat","monkey"];// 执行到第3次,结束循环arr.forEach((name, ...
- jsfor循环终止_js 终止 forEach 循环
wp8 入门到精通 MultiMsgPrompt List arraymsg = new List(); List ArrayNotifyInfo ... 转:Top 10 Algorithms fo ...
- js如何跳出foreach循环
本人在做购物车练习时,想用foreach遍历商品列表,如果商品列表都选中了,则勾选 全选 按钮,否则遍历时如果有某一项没有勾选则应该将 全选 按钮标志位设为false,然后跳出循环. 问题来了,我在 ...
- php中的foreach和js中的foreach的用法和区别
PHP中的foreach循环: 主要用于遍历数组 例如: (1)// $colors=array("red","yellow","blue" ...
- JS中如何跳出.forEach循环
写在前面 提到在一段程序中如果碰到需要终止,结束一个循环,函数或者一段代码,一般会想到以下这几个关键字return.continue.break 简述一下三者的区别: break: 终止整个循环(有内 ...
- js 跳出 forEach 循环
使用 forEach 的时候,是不能通过 return 来跳出循环的(只可以终止 return 语句后面代码的执行,并不会终止整个循环),比如下面的例子
最新文章
- [Tool]靜態程式碼分析-FxCop
- matlab信道均衡,使用LMS算法做信道均衡时,更换信道传递函数效果很差
- poj-1979 dfs
- 解决Pycharm中import时无法识别自己写的程序(转载)
- linux timespec 链接库,Linux内核 timespec_sub()
- 2 万字长文盘点五种负载均衡策略
- Eclipse中 搭建 Spring+SpringMVC+Mybatis整合(下)
- UVA103 dp基础题,DAG模型
- 读书笔记--精通CSS高级Web标准解决方案(一)---CSS基础
- 人工智能目前有哪些突破?
- 【java】java Jvm内存结构
- Android调试办法之adb指令解锁手机锁屏
- 如何解决CF安全数据上报异常 16-2
- 工信部官宣:5G商用牌照即将发放!
- Google CFO 的辞职信(引用)
- SSM高校疫情防控出入信息管理系统设计与实现.rar(论文+源码)
- 题目:L2-029 特立独行的幸福 (25 分)
- 你今天好帅用计算机,华师表白墙 | 计算机系最帅的男孩子,我喜欢你!
- 一个使用 selenium 模块爬取(Twitter、New York Times)网站的可配置爬虫代码
- MATLAB中字符串数组的文件输出
热门文章
- 叮咚买菜VS每日优鲜:同亏不同命
- 我,32岁,小米公司程序员,揭 开北京“码农”的真实收入
- npm安装electron报RequestError: socket hang up错误解决方法
- iPhone13充电宝哪个牌子好?iPhone13无线充电宝推荐
- VS2010常用插件介绍之Javascript插件(一)
- python3d旋转相册_3D立体相册,一个可旋转的立体相册
- 2021亚太杯A|B|C题全网最全解题思路+数据分享
- Python实现多电阻并联快捷计算
- oracle 11g安装过程中问题:移动bin\oralbac11.dll 到bin\oralbac11.dll.dbl出错
- 【学习mysql】ubuntu20.04下彻底删除mysql8.0