React开发中JavaScript prototype数组处理顺序问题求助
解决方案
直接调整数组原型方法的调用顺序,先执行过滤再做分页,完全用数组原生方法实现:
// 基于你的props数据处理 const filteredRows = props.rows.filter(row => { // 根据实际数据结构调整判断逻辑,示例中默认将row转为字符串匹配 return row.toString().toLowerCase().includes(searchWord.toLowerCase()); }); // 过滤完成后再执行分页,仅保留前rowsPerPage条数据 const displayedRows = filteredRows.slice(0, rowsPerPage);
核心逻辑说明
- 执行顺序是关键:必须先过滤后分页,先用
filter筛选出所有包含搜索关键词的元素,再对筛选结果用slice(0, rowsPerPage)截取指定数量的条目 - 若你的数据是对象数组(比如每个row是
{ id: 1, title: 'xxx' }),只需把判断逻辑改为对应字段,例如:row.title.toLowerCase().includes(searchWord.toLowerCase()) - 加入
toLowerCase()是为了实现不区分大小写的搜索,不需要该特性的话可以直接移除
内容的提问来源于stack exchange,提问作者seunghyeon
相关产品推荐
相关产品推荐

