突破Array.forEach
Array.forEach() 方法是迭代數組的強大工具,但它缺乏提前停止迭代過程的能力。當您需要根據特定條件短路操作時,這可能會成為一個障礙。
考慮以下程式碼:
[1, 2, 3].forEach(function(el) { if (el === 1) break; });
此程式碼嘗試在下列情況下立即停止迭代:遇到值為 1 的元素。但是,break 語句在 forEach 回呼中沒有任何效果。
要實現所需的行為,您必須拋出一個異常來中斷 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; }
在此程式碼中,建立了一個名為 BreakException 的自訂例外。當遇到值為2的元素時,拋出異常,導致循環退出。 catch 區塊確保只有在拋出 BreakException 時循環執行才會停止,從而防止其他例外狀況導致程式崩潰。
透過使用此方法,您可以在 Array.forEach 迭代中模擬 break 語句的功能,讓您在滿足特定條件時終止迴圈。
以上是如何儘早停止 `Array.forEach()`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!