我有一个对象数组,每个对象内部都有不同的属性。我想做的是通过其不同的属性筛选该数组中的对象,但是我的问题是属性的名称和属性的数量正在变化。如何通过不声明硬代码值来对其进行过滤。
我之前使用过以下代码,但过滤次数是静态的
events={MainObject.filter(
itemX =>
FilteringParameter["DropdownFilter2"].find(
parameter => parameter === itemX["DropdownFilter2"]
) &&
(FilteringParameter["DropdownFilter1"].find(
parameter => parameter === itemX["DropdownFilter1"]
) ||
!FilteringParameter["DropdownFilter1"].length)
)}
在我的代码上方,“ DropdownFilter1”和“ DropdownFilter2”基于多选下拉列表,并且具有基于我的对象的不同值的值
答案 0 :(得分:0)
哇,我弄清楚了如何使它成为动态过滤器。我不确定这是否是最好的答案,但我做了一个循环,该循环将过滤每个循环中的数据
let z = RawData
filterObject.map(e => {
z = z.filter(d => {
return d[e.Title] === e.Value
})
})
我的filterObject拥有我的所有下拉值,该值具有两个属性。标题是属性名称,而值是下拉列表的值。