我想使用“过滤器”方法在某些条件下过滤阵列。如果只有一个条件处于活动状态,则没有问题。但是,如果数组中的对象必须处于两个条件下,则会出现问题。
getFilteredItems() {
let customText = this.filters.customTextFilter.trim();
return this.filteredItems.filter((x) => {
if (customText !== '') {
return x.name.includes(customText) || x.code.includes(customText) || x.city.includes(customText);
}
if (this.filters.currencySelected !== '') {
return x.currency === this.filters.currencySelected;
}
return true;
})
}
如果选择了两个条件,如何同时加入这两个条件?我还有3个条件要加入。因此,如果有人选择两个条件,则如何同时检查对象和在两个条件均为true时返回true?
谢谢
最佳答案
有一个result
变量并在不满足任何条件时设置为false并返回结果
getFilteredItems() {
let customText = this.filters.customTextFilter.trim();
return this.filteredItems.filter((x) => {
result=true;
if (customText !== '') {
result = result &&( x.name.includes(customText) || x.code.includes(customText) || x.city.includes(customText));
}
if (this.filters.currencySelected !== '') {
result = result &&( x.currency === this.filters.currencySelected);
}
return result;
})
}