javascript 跳出(终止)forEach循环
报错信息:

1.错误用法一
原生态的forEach()方法体中,结束循环不能使用break。
var array = ["first","second","third","fourth"]; // 直接就报错了
array.forEach(function(item,index){
if (item == "third") {
break;
}
alert(item);
});
2.错误用法二
从网上说使用return false,然并卵
var array = ["first","second","third","fourth"]; // 会遍历数组所有元素,只是执行到第3次师,return false下面的代码不再执行而已
array.forEach(function(item,index){
if (item == "third") {
return false;
}
alert(item);// first,second
});
说明:
forEach()无法在所有元素都传递给调用的函数之前终止遍历,
return false 在这里起的作用是:只是终止本次继续执行,而不是终止for循环。
3.正确做法
因为forEach()无法通过正常流程终止,所以可以通过抛出异常的方式实现终止
try {
var array = ["first","second","third","fourth"];
// 执行到第3次,结束循环
array.forEach(function(item,index){
if (item == "third") {
throw new Error("EndIterative");
}
alert(item);// first,sencond
});
} catch(e) {
if(e.message!="EndIterative") throw e;
};
// 下面的代码不影响继续执行
alert(10);
4.结束for循环,使用break
// 终止for循环,使用break
for (var i=0; i < 3; i++) {
if (1==i) {
break;
}
alert(i);//
}
2020/04/20
终止jQuery循环使用return false

相关推荐:
javascript 跳出(终止)forEach循环的更多相关文章
- js 终止 forEach 循环
1.因为 forEach() 无法通过正常流程终止,所以可以通过抛出异常的方式实现终止. try{ var array = ["first","second", ...
- JSTL跳出<c:forEach>循环
<c:forEach items="${consultPager.dataList }" var="consult"> <tr> < ...
- JavaScript数组forEach循环
JavaScript数组forEach循环 今天写JavaScript代码把forEach循环数组忘记写法了,在此记录一下以防止未来忘记. let a = [1, 2, 3]; a.forEach(f ...
- foreach循环的跳出
由于foreach循环中不像for循环可以直接通过return或break来终止当前循环,不过这里可以借助try...catch...来完成var arr = [1,2,3,4,5,6,7,8,9,1 ...
- JavaScript的map循环、forEach循环、filter循环、reduce循环、reduceRight循环
1.map循环 let arr=[1,2,3,4]; arr.map(function(value,key,arr){ //值,索引,数组(默认为选定数组) return item; //如果没有re ...
- java 流程执行 循环 foreach循环
一. if分支 1. 结构 if else if else 2.执行原则 if if if 结构 会一直去执行()里的判断语句 if else if else if 结构 只要一条( ...
- 深入了解 JavaScript 中的 for 循环
在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循 ...
- foreach循环 Java
第一次遇到foreach循环,是在PHP的数组中,同样,在Java数组中,也遇到了foreach循环,都是用来遍历数组(集合).遍历数组,首先想到的一般都是用while,do while,for循环, ...
- JavaScript 中 for in 循环和数组的问题
本文由 伯乐在线 - ElvisKang 翻译,进林 校稿.未经许可,禁止转载!英文出处:adripofjavascript.com.欢迎加入翻译小组. JavaScript的for…in循环用于迭代 ...
随机推荐
- linux系统负载相关的概念和度量
系统负载有 CPU利用率 和 LoadAverage这2个概念. cpu利用率:cpu utilization,是进程(task)被内核调度进程实际分配了CPU资源后,在时间片内使用CPU进行工作运算 ...
- Google In-App Billing 实现(内含Unity 实现经验)
实现内购计费 傻逼目录 Adding the AIDL file Updating Your Manifest Creating a ServiceConnection Making In-app ...
- Selenium2+python自动化39-关于面试的题
前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点. 一.selenium中如何判断元素是否存在? 首先selen ...
- POP按钮动画
POP按钮动画 效果 源码 https://github.com/YouXianMing/Animations // // ButtonPressViewController.m // Faceboo ...
- AFNetworking 2.0使用(持续更新)
本人视频教程系列 导入AFNetworking 2.0 文件夹,引入头文件AFNetworking.h --------------- *使用NSURLSessionDownloadTask来下载一张 ...
- jdbc连接遭遇RAC设备
今天进行junit的Case回归测试,功能测试人员告知数据库ip进行了变更,于是 将jdbc连接的url进行了相应的变更如下 jdbcConnection = java.sql.DriverManag ...
- perfect-rectangle
https://leetcode.com/problems/perfect-rectangle/ // https://discuss.leetcode.com/topic/55944/o-n-log ...
- 【Handler】Looper 原理 详解 示例 总结
核心知识点 1.相关名词 UI线程:就是我们的主线程,系统在创建UI线程的时候会初始化一个Looper对象,同时也会创建一个与其关联的MessageQueue Handler:作用就是发送与处理信息, ...
- 不要再使用JS框架了
停止编写Javascript框架吧. Javascript框架就好像死亡和税收一样:终究不可避免它的存在.我确信如果我是那面墙上的一只苍蝇,每次有人开始一个新的网页项目时,第一个问题肯定是我们用的是哪 ...
- Bootstrap学习js插件篇之标签页
简单的标签页 代码: <h1 class="page-header">4.3标签页</h1> <ul class="nav nav-tabs ...