我在玩Node.js和Mongoose——try 在使用递归函数嵌套的深度注释中查找特定注释,并在其中查找forEach条注释.有没有办法阻止Node.js forEach?据我所知,每forEach次迭代都是一个函数,我不能只做break次,只能做return次,但这不会阻止forEach次.

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

        recurs(elem);

        //if(...) break;

    });
}

推荐答案

你无法摆脱forEach分.不过,我可以想出三种方法来伪装它.

1. The Ugly Way:将第二个参数传递到forEachuse as context,并在其中存储一个布尔值,然后使用if.这看起来糟透了.

2. The Controversial Way:把整个东西围成一个try-catch块,当你想打破时抛出一个异常.这看起来很糟糕,有may affect performance个,但可以封装.

3. The Fun Way:使用100.

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

你可以用100来代替,如果你想用return true来打破它的话.

Javascript相关问答推荐

如何在react + react路由域名中使用DeliverBrowserRouter?

更新Reduxstore 中的状态变量,导致整个应用程序出现不必要的重新渲染

在NextJS中使用计时器循环逐个打开手风琴项目?

传递一个大对象以在Express布局中呈现

React Code不在装载上渲染数据,但在渲染上工作

Chromium会将URL与JS一起传递到V8吗?

更改预请求脚本中重用的JSON主体变量- Postman

try 使用javascript隐藏下拉 Select

更新动态数据中对象或数组中的所有值字符串

查询参数未在我的Next.js应用路由接口中定义

使用js构造一个html<;ath&>元素并不能使其正确呈现

JavaScript是否有多个`unfined`?

将数组扩展到对象中

在Odoo中如何以编程方式在POS中添加产品

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

基于产品ID更新条带产品图像的JavaScript命中错误

Socket.IO在刷新页面时执行函数两次

JavaScript将字符串数字转换为整数

如果我的列有条件,我如何呈现图标?

React数组查找不读取变量