问题描述
你不能脱离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
迭代都是一个函数,而且我不能只做break
,return
但不会停止forEach
。
function recurs(comment) {
comment.comments.forEach(function(elem) {
recurs(elem);
//if(...) break;
});
}