过滤对象数组

时间:2019-06-12 23:07:20

标签: reactjs

我有一个对象数组,每个对象内部都有不同的属性。我想做的是通过其不同的属性筛选该数组中的对象,但是我的问题是属性的名称和属性的数量正在变化。如何通过不声明硬代码值来对其进行过滤。

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

events={MainObject.filter(
    itemX =>

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

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

1 个答案:

答案 0 :(得分:0)

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

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

我的filterObject拥有我的所有下拉值,该值具有两个属性。标题是属性名称,而值是下拉列表的值。