Js之跳出迴圈(for/forEach)
阿新 • • 發佈:2021-06-28
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這些高階函式一脈相承,讓我們更易用。