过滤对象数组

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我有Object of Object,每个对象里面都有不同的属性。我想要做的是通过其不同的属性过滤该数组中的对象,但我的问题是属性的名称和属性的数量正在改变。如何通过不在其上声明硬代码值来过滤它。

我之前使用过以下代码,但过滤次数是静态的

events={MainObject.filter(
    itemX =>

       FilteringParameter["DropdownFilter2"].find(
        parameter => parameter === itemX["DropdownFilter2"]
       ) &&
       (FilteringParameter["DropdownFilter1"].find(
       parameter => parameter === itemX["DropdownFilter1"]
       ) ||
       !FilteringParameter["DropdownFilter1"].length)
)}

在我的代码上面,“DropdownFilter1”和“DropdownFilter2”基于多选下拉列表,并且具有基于我的Objects的不同值的值

提问于
用户回答回答于

哇我弄清楚如何使它成为动态过滤器。我不确定这是否是最好的答案,但我做了一个循环,将每个循环过滤我的数据

let z = RawData
   filterObject.map(e => {
       z = z.filter(d => {
         return d[e.Title] === e.Value
       })
    })

我的filterObject包含我的所有下拉值,它有两个属性。Title是属性名称,而Value包含下拉列表的值。

扫码关注云+社区

领取腾讯云代金券