【问题标题】:How do I put two conditions into a foreach statement in Javascript如何将两个条件放入 Javascript 中的 foreach 语句中
【发布时间】:2018-03-02 07:27:44
【问题描述】:

我正在尝试在修复别人的程序时自学 javascript。我有一个 foreach 语句,我想有两个条件元素,我如何构造它,因为我正在使用的代码返回一个错误

@foreach (var item in Model.Journals.Where(m => m.ProcedureId != null && m.Hidden !=1)) 

【问题讨论】:

  • 这不是 LINQ/C# 吗?
  • 这不是 javascript...也许是 .NET 中 ASPNET 应用程序上的 Razor 引擎?
  • 这不是 JS。没有@foreach。你使用一些预处理器吗?
  • 这是一个超级怪异的 JS,你可能会误用其他东西
  • 什么库提供了 where 函数?

标签: javascript


【解决方案1】:

如果你想在 JavaScript 中使用 foreach,你可以这样做:

var array = ['a', 'b', 'c'];

array.forEach(function(element) {
 console.log(element);
});

如果您想要每次迭代的条件,只需包含一个 if 语句:

var array = ['a', 'b', 'c'];

array.forEach(function(element) {
    if(element !== 'a' && element !== 'c'){
       // Would only return 'b'
       console.log(element);
    } 
});

【讨论】:

    【解决方案2】:

    您应该使用下划线选择函数或按照此问题的建议编写自己的函数:Best way of basically doing a `where` clause in Javascript?

    【讨论】:

      【解决方案3】:

      如果这确实是 Javascript,那么您似乎想要做的是获取一个数组并返回与条件匹配的数组子集,然后对该子集的每个项目执行操作。 为此,您可以在使用 forEach 之前使用Array#Filter

      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

      // Assuming Models.Journals is an array or objects with
      // ProcedureId and Hidden fields
      
      Models.Journals.filter(m => m.ProcedureId != null && m.Hidden !=1).forEach(...)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-08
        • 2015-06-17
        • 2011-09-25
        • 2011-08-27
        • 1970-01-01
        • 2017-01-23
        • 2021-08-26
        相关资源
        最近更新 更多