javascript - 在由两个数据库字段组成的表列中查找值
问题描述
我有一个在 Angular 中按以下方式组成的表格列:
<tr *ngFor="let activity of activitiesTable.data">
<td data-cy="employee-cell">
{{ activity.employee.lastName }} {{ activity.employee.firstName }}
</td>
我的研究是这样实施的:
export function activityEmployeesFilterFn(
entities: ActivityEmployee[],
{ query }: { query: string }
): ActivityEmployee[] {
return query
? entities.filter(
(e) =>
-1 < e.lastName.toLowerCase().indexOf(query?.toLowerCase()) ||
-1 < e.firstName.toLowerCase().indexOf(query?.toLowerCase())
)
: entities;
}
不幸的是,此搜索仅适用于姓名和姓氏。如果我尝试写“John Wessley”,它找不到我的任何名字,因为他正在寻找 John 或 Wessley。我该如何解决?
解决方案
您可以颠倒您的比较逻辑,因此您将搜索用名字或姓氏输入的内容。
-1 < query?.toLowerCase().indexOf(e.lastName.toLowerCase()) ||
-1 < query?.toLowerCase().indexOf(e.firstName.toLowerCase())
推荐阅读
- reactjs - 单击元素时如何更改元素的背景颜色?
- react-native - 张量转JPEG:提高质量
- c# - 如何以 IBM/360 列二进制格式解码十六进制数
- gpu - 在计算着色器中的 N 个线程后退出
- c# - 如果 UseSpaStaticFiles() 应该服务于 Angular 页面,为什么还需要 UseSpa()?
- data-structures - 如何为 Bitvector 实现自定义切片
- java - 如何将活动移动到另一个活动?
- neo4j - java.lang.IllegalArgumentException:值字符串的不支持类型 [TEXT]
- python - 打印 tkinter askopenfile() 输入
- javascript - 如何在 Node JS 中验证电子邮件 ID 的唯一性