Javascript 如果“if block”在循环中工作,如何防止else块运行

Javascript 如果“if block”在循环中工作,如何防止else块运行,javascript,c#,node.js,Javascript,C#,Node.js,我有一个这样的代码块 但我不知道如何防止else块发生如果块起作用, 这是此运行时控制台的图片 如果If语句的条件为true,代码将永远不会进入else语句。请记住,您是在循环中运行代码;您看到的每个日志消息都来自循环中的不同迭代。这可以从以下事实中看出:每次迭代打印出的对象id都不同。我假设您希望循环遍历迭代列表中的每个项目,如果它与库存列表中的某个项目匹配,则执行某些操作。您的循环将查看迭代列表中的每一项和库存列表中的每一项,并对它们进行比较。这意味着迭代列表中的每个项目都将获得库存列表中

我有一个这样的代码块

但我不知道如何防止else块发生如果块起作用, 这是此运行时控制台的图片

如果If语句的条件为true,代码将永远不会进入else语句。请记住,您是在循环中运行代码;您看到的每个日志消息都来自循环中的不同迭代。这可以从以下事实中看出:每次迭代打印出的对象id都不同。

我假设您希望循环遍历迭代列表中的每个项目,如果它与库存列表中的某个项目匹配,则执行某些操作。您的循环将查看迭代列表中的每一项和库存列表中的每一项,并对它们进行比较。这意味着迭代列表中的每个项目都将获得库存列表中每个项目的控制台日志

不要在两个列表中循环,而是在第一个列表中循环,然后在第二个列表中搜索任何匹配项。如果找到一个,则执行操作控制台.log

这是C语言,但可能会有所帮助

listToIterate.ForEach(elementToIterate =>
{
  var id = elementToIterate;
  if(listInStock.Any(elementInStock => elementInStock == id))
  {
    Console.WriteLine("Exists");
  }
  else
  {
     Console.WriteLine("Not Exists");
  }
});

这与C或C++有什么关系?把问题的代码作为文本,选择一个语言标签。我想你要做的是搜索收藏中是否有商品,但你要做的是检查收藏中的每一个商品,并将其与CommodityModelId进行比较。当项目匹配时,您会得到if块,当它不匹配时,您会得到else块。那么如何比较外循环和内循环?如果您只希望找到与id匹配的对象,您不需要没有不同的else块,每个可选id都是samein else块将运行另一个逻辑,它只是一个简单的console.log,但如果“if-bock”不起作用,那么else块将运行是,它将针对不满足条件的每个对象运行。