【问题标题】:react js lodash filter conditional filter attributereact js lodash过滤条件过滤属性
【发布时间】:2020-03-17 15:51:13
【问题描述】:

我正在尝试弄清楚如何更改集合的过滤器属性

这是我目前的代码

_.filter(
  myCollection, 
  {Category: "Name", Year: "2020", IsActive: true}).map(
     record => (
      // ... my code 
     )
  )
)

我喜欢有条件地更改类别字符串,

我试过了

Category: "Name" || "Address" // but this did not work

我想避免两个长语句,一个用于类别:“名称”,另一个过滤器用于类别:“地址”

我也试过

Category: categoryConditionString // blank or Name orAddress but this did not work

有没有办法允许为 Category 分配一些东西,让它恢复所有类别的所有记录,或者 category = name 或 category = address?

谢谢

【问题讨论】:

  • 您能向我们展示您的预期结果以及您目前得到的结果吗?此外,在Category: "Name" || "Address" 中,字符串Name 始终是真实的,因此它永远不会超过它。

标签: reactjs lodash


【解决方案1】:

想通了,得到以下工作

_.filter( 我的收藏, this.FilterForName ? {类别:“姓名”,年份:“2020”,IsActive:真} : {Category: "Address", Year: "2020", IsActive: true}

).map( 记录 => ( // ... 我的代码 ) ) )

【讨论】:

    【解决方案2】:
    _.filter(
      myCollection, 
       obj => (obj.Category === "Name" || obj.Category === 'Address') && Year === "2020" && IsActive }).map(
         record => (
          // ... my code 
         )
      )
    )
    

    阅读更多关于过滤功能here

    【讨论】:

      猜你喜欢
      • 2020-04-27
      • 1970-01-01
      • 2017-01-10
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2016-03-30
      • 1970-01-01
      相关资源
      最近更新 更多