React中基于name与id多参数筛选数组数据的方案求助
解决方案
只需修改筛选函数,让它同时校验name和id字段,只要其中一个匹配搜索值就保留对应条目。
修改后的筛选函数
const filterUsers = ({ name, id }) => { const lowerSearch = searchValue.toLowerCase(); return name.toLowerCase().includes(lowerSearch) || id.toLowerCase().includes(lowerSearch); };
使用方式
把原来调用users.filter(filterNames)的地方,替换成users.filter(filterUsers)即可。
细节说明
- 用
includes替代indexOf,代码更直观易读 - 提前转换搜索值为小写,避免重复执行转换操作,优化性能
- 同时匹配
name和id,无论搜索的是名称片段还是ID,都能返回对应结果
比如搜索"1"会匹配ID为"1"的Jack,搜索"sa"会匹配Sarah,搜索"6"会匹配Eric,完全满足双参数筛选需求。
内容的提问来源于stack exchange,提问作者Prakash Patil
相关产品推荐
相关产品推荐

