短路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中文网其他相关文章!