此问题在此处已有答案:
How to filter array of objects using customized input as filters(1个答案)
9小时前关门了。
我有3 ngModel在我的用户界面是绑定在我的Angular 应用程序。他们都是由用户选择使用多选下拉菜单。
country = ["India", "US"]
state = ["Delhi", "MP","UP"]
city = ["gzb","xyz"]
我有一个自定义筛选器,必须根据这些响应筛选数据
filter = {
country: this.country,
state: this.state,
city: this.city
}
result = data.filter(e =>
Object.entries(filters).every(([key,vals])=>vals.includes(e[key])))
有一个场景,只有国家数组,其他2个都是空的。这里我的过滤器将失败。如何检查null
测试数据
data=[{
"name":"hello",
"gender":"male",
"country":"India",
"state":"Delhi",
"city":"gzb"
}]
1条答案
按热度按时间hm2xizp91#
你必须检查过滤器元件的长度。
如果filter中特定节点的长度为零,那么检查该filter节点就没有意义,只需在这种情况下返回true。
工作小提琴