我有以下数据数组,我想按公司名称/名称过滤。过滤器公司名称可以是一个或多个。
data = [
{
"company":{
"name":"Company 1",
"symbol":"one"
},
"description":"test",
"status":"Pending"
},
{
"company":{
"name":"Company 2",
"symbol":"two"
},
"description":"test",
"status":"Pending"
},
{
"company":{
"name":"Company 3",
"symbol":"three"
},
"description":"test",
"status":"Pending"
}
]
filter = ["Company 1", "Company 3"]
预期结果
[
{
"company":{
"name":"Company 1",
"symbol":"one"
},
"description":"test",
"status":"Pending"
},
{
"company":{
"name":"Company 3",
"symbol":"three"
},
"description":"test",
"status":"Pending"
}
]
尝试了以下
selectedCompaniesEvent() {
const fn = (arr, filters) => {
const filtersArr: any = Object.entries(filters);
return arr.filter((o, index) =>
filtersArr.every(([key, values]) =>
values.includes(o[index].company[key])
)
);
};
const result = fn(data, filter);
console.log(result);
}
我尝试按照此处的解决方案进行操作,因为我的数据数组是嵌套的,它似乎不起作用。任何帮助将不胜感激!