我的项目状态为包含以下数据的数组类型。
使用此数据,我需要根据与company_name
,project_name
,project_description
,release_name
和{{1}匹配的搜索输入来过滤用户结果}
release's description
目前,我只能根据与项目名称匹配的关键字过滤结果。
为什么我也可以使用其他属性或添加条件以基于其他属性过滤数据?
答案 0 :(得分:2)
如果您想查看这些字段中是否存在术语,可以使用Array#some()
const filterFields = ['company_name', 'project_name', 'project_description', 'release_name', 'descrip'];
const { projects, searchfield) = this.state;
const term = searchfield.toLowerCase();
const filterProjects = projects.filter(data => {
return filterFields.some(field => data[field].toLowerCase().includes(term))
});