Js之跳出循环(for/forEach)

1.for方法跳出循环

使用break跳出循环

 1 function getItemById(arr, id) {
 2     var item = null;
 3     for (var i = 0; i < arr.length; i++) {
 4         if (arr[i].id == id) {
 5             item = arr[i];
 6             break;
 7         }
 8     }
 9     return item;
10 }

2.forEach方法跳出循环

用抛异常的方式,终止forEach循环。

 1 function getItemById(arr, id) {
 2     var item = null;
 3     try {
 4         arr.forEach(function(curItem, i) {
 5             if (curItem.id == id) {
 6                 item = curItem;
 7                 throw Error();
 8             }
 9         })
10     } catch(e) {}
11     return item;
12 }

注:

  • forEach()与普通的for循环不同,不能使用break和continue这两个关键字;实现continue效果可以使用return。
  • forEach()本身无法跳出循环,所以,这里使用了抛异常的方法来终止它。
  • forEach()内执行的方法为回调函数,里面形成了作用域,不会像for一样影响全局变量。
  • forEach()与map、filter、reduce这些高阶函数一脉相承,让我们更易用。

参考网址

有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
原文地址:https://www.cnblogs.com/luyj00436/p/14945679.html