网站建设格局,联盟平台,wordpress acf 收费,重庆建设工程信息查询在for循环中#xff0c;跳出循环有两种模式#xff1a; break、continue#xff1b;但是在forEach中#xff0c;使用break或者continue都会报错#xff1b;使用return在forEach不起作用#xff0c;循环会继续执行#xff0c;貌似充当了continue的角色。
forEach方法的机…在for循环中跳出循环有两种模式 break、continue但是在forEach中使用break或者continue都会报错使用return在forEach不起作用循环会继续执行貌似充当了continue的角色。
forEach方法的机制是对数组的每个有效元素执行一次callback函数然后return、break等只作用于一个函数也就造成了无法跳出forEach循环的问题而是只能跳过当前函数的执行。 forEach跳出循环的方法 第一种使用for代替forEach 只能使用break或者continue如果是针对函数则使用return xh: //首先将循环命名
for(var i0;i10;i){for(var j0;j5;j){if(i3 j4){break xh; //跳出循环xh}}} 第二种使用try...catch捕获异常实现不建议使用 function foo(arr ,item){var BreakException {};try {arr.forEach(function(i) {if(i item) throw BreakException;console.log(i);});} catch(e) {if (e!BreakException) throw e;}
} 第三种使用some或者every方法 some()中使用eturn true跳出循环注意如果在函数中使用只是跳出循环而不会终止函数后面的代码还是会执行 every()中使用return false 跳出循环但是要在对应的条件中加入return true才可以执行后续的循环 正常的使用环境如果是测试一个数组里的元素是否符合某条件且需要返回一个布尔值则应该使用这两个方法。这里可用于跳出循环。 function foo(arr ,item){arr.some(function(i) {if(i item) return true;console.log(i);});
} function foo(arr ,item){arr.every(function(i) {if(i item) return false;console.log(i);});
}