短路Array.forEach:探索替代中斷方法
在傳統程式設計範例中,break語句允許立即終止迴圈或控制流塊。然而,JavaScript 中的新 forEach 方法缺少內建的等效方法。這就提出了一個問題:我們如何在 forEach 的脈絡中複製 break 的行為?
先前使用 return、return false 或 break 實現手動中斷的嘗試已被證明是不成功的。 Return 不會停止迭代,並且 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 回呼中實例化並拋出自定義異常 BreakException。這會導致 try 區塊停止執行並繼續執行 catch 區塊,從而有效地中斷循環。在 catch 區塊中處理 BreakException 以外的錯誤很重要,以避免意外行為。
以上是如何短路 JavaScript forEach 迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!