在Types
cr
i
pt
中,可以使用类型断言和一些操作符来过滤列表并将接口作为筛选条件。假设有一个接口Person:
interface Person {
name: string,
age: number,
gender: string
现在需要筛选出年龄大于18岁的男性。可以使用filter()方法和箭头函数来完成:
const people: Person[] = [
{name: 'Alice', age: 25, gender: 'female'},
{name: 'Bob', age: 19, gender: 'male'},
{name: 'Charlie', age: 32, gender: 'male'}
const filteredPeople = people.filter((person: Person) => person.age > 18 && person.gender === 'male')
console.log(filteredPeople)
这段代码将筛选出符合条件的Person对象并打印输出。在filter()方法里,定义了一个匿名函数来检查每个Person对象是否满足要求。在这个匿名函数内,对每个Person对象进行检查以判断是否年龄大于18岁且性别为男性。如果是则将该对象添加到一个新数组filteredPeople中,并在最后输出。
注意,在调用filter()方法之前需要声明一个Person类型的数组并给它赋值。在箭头函数的参数中可以加入类型注解,使该函数只能接受Person类型的值作为参数进行筛选。
另外,如果需要实现更复杂的筛选功能,可以使用tsql和typeorm等库来操作数据库,并将接口作为查询条件。