如何停止 Javascript forEach?

问题描述

你不能脱离forEach. 不过,我可以想出三种方法来伪造它。

:将第二个参数传递forEach用作上下文,并在其中存储一个布尔值,然后使用一个if。这看起来很糟糕。

:将整个事物包围在一个try-catch块中,当你想打破时抛出异常。这看起来很糟糕,可能会影响性能,但可以封装。

:使用 。

['a', 'b', 'c'].every(function(element, index) {
  // Do your thing, then:
  if (you_want_to_break) return false
  else return true
})

如果你想return true打破,你可以改用。

解决方法

我正在使用 Node.js 和 Mongoose - 试图在递归函数嵌套的深层评论中找到特定的评论forEach。有没有办法停止 Node.js
forEach?据我了解,每次forEach迭代都是一个函数,而且我不能只做breakreturn但不会停止forEach

function recurs(comment) {
    comment.comments.forEach(function(elem) {

        recurs(elem);

        //if(...) break;

    });
}