时间:2021-05-26
JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环:
[1,2,3].forEach(function(item) { // if(!item) break; 不支持});解决办法,可抛出一个特殊异常,来中断forEach循环,原理:
var BreakException = {};try {[1, 2, 3].forEach(function(el) {console.log(el);if (el === 2) throw BreakException;});} catch (e) {if (e !== BreakException) throw e;}也可复写forEach方法:
// Use a closure to prevent the global namespace from be polluted.(function() {// Define StopIteration as part of the global scope if it// isn't already defined.if(typeof StopIteration == "undefined") {StopIteration = new Error("StopIteration");}// The original version of Array.prototype.forEach.var oldForEach = Array.prototype.forEach;// If forEach actually exists, define forEach so you can// break out of it by throwing StopIteration. Allow// other errors will be thrown as normal.if(oldForEach) {Array.prototype.forEach = function() {try {oldForEach.apply(this, [].slice.call(arguments, 0));}catch(e) {if(e !== StopIteration) {throw e;}}};}})();使用
// Show the contents until you get to "2".[0,1,2,3,4].forEach(function(val) {if(val == 2)throw StopIteration;alert(val);});总结
以上所述是小编给大家介绍的JavaScript使用类似break机制中断forEach循环的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一个用break中断循环的Javascript的源程序代码如下:一个用break中断循环的Javascript代码示例functionBreakTest(bre
break语句只能用于【选择】语句和【循环】语句中。break语句中断当前循环,或和label一起使用,中断相关联的语句。 break就是跳出本层循环。外层如
Query中each类似于javascript的for循环但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循
在使用JavaScript编写代码过程中,可以使用多个方法对数组进行遍历;包括for循环、forEach循环、map循环、forIn循环和forOf循环等方法。
javascript:break和continue是两个用在内部循环的特殊语句。使用break语句跳出循环;用continue语句来跳出当前的循环继续下面的值。