在Angular/Typescript中,你可以定义一个自定义的过滤器来实现对象过滤的功能。以下是一个示例:
filter
的过滤器函数。这个函数接收两个参数:对象数组和过滤条件。filter(objects: any[], condition: any): any[] {
if (!objects || !condition) {
return objects;
}
return objects.filter(obj => {
for (let key in condition) {
if (condition.hasOwnProperty(key)) {
let value = condition[key];
if (value.startsWith('>')) {
let numValue = parseInt(value.substring(1));
if (obj[key] <= numValue) {
return false;
}
} else if (value.startsWith('<')) {
let numValue = parseInt(value.substring(1));
if (obj[key] >= numValue) {
return false;
}
} else if (value.startsWith('=')) {
let numValue = parseInt(value.substring(1));
if (obj[key] !== numValue) {
return false;
}
} else {
if (obj[key] !== value) {
return false;
}
}
}
}
return true;
});
}
filter
函数来过滤年龄大于30岁的对象数组:30' }">
{{ obj.name }} - {{ obj.age }}
这样就可以根据指定的条件过滤对象数组了。
注意:在这个示例中,我们假设过滤条件是一个对象,其中键是对象的属性,值是过滤的条件。我们支持的条件有:
>
:大于<
:小于=
:等于你可以根据自己的需求进行调整和扩展。