// 通过url获取参数let url = context.ctx.request.originalUrl;// 解析url中的汉字url = decodeURI(url);let select = {};// 将搜索条件转为一个对象if (url.indexOf('?') != -1) {let arr = url.slice(url.indexOf('?') + 1).split('&');arr.forEach(item => {let param = item.split('=');select[param[0]] = param[1];});}//准备进行分类筛选 select:筛选条件   arr:数据源const deduplicationAfter = (select, arr) => {//  去掉pageNum和pageSize作为筛选条件let selectKey = Object.keys(select);if (selectKey.includes('pageNum')) {selectKey.splice(selectKey.indexOf('pageNum'), 1);}if (selectKey.includes('pageSize')) {selectKey.splice(selectKey.indexOf('pageSize'), 1);}// 判断去掉pageNum和pageSize后是否有其他搜索条件if (selectKey.length > 0) {let newArray = selectKey.reduce((pre, cur) => {return pre.filter(item => {return select[cur] == item[cur];});}, arr);// 判断过滤后的结果是否为空if (// typeof select.pageNum !== '' ||// typeof select.pageSize !== '' ||newArray.length === 0 ||newArray.length < (select.pageNum - 1) * select.pageSize ||select.pageNum * 1 < 0 ||select.pageSize * 1 < 0) {return '暂无数据';}return newArray;} else {// 如果筛选出来的数据不足一页 就直接returnif (arr.length < select.pageSize * 1) {return arr;}// 如果筛选出来的数据大于页码 就开始进行分页处理if (arr.length > select.pageSize * 1) {return arr.splice((select.pageNum  - 1) * select.pageSize, select.pageSize * 1);}return arr;}};

通过JavaScript实现分页及搜索查询相关推荐

  1. 六、教师管理-列表查询、分页、搜索

    一. 需求分析 教师管理主要针对充值教师进行管理,首先开发教师管理模块中的列表功能,包含条件查询.下拉框.日期功能. 数据列表.分页. 二. 教师数据列表 1 nodejs 添加数据列表接口,去nod ...

  2. mybatis动态查询(分页排序搜索)+分解关联查询+Logback 日志配置(打印sql到控制台)+mybatis新增记录后返回自增的id。批量=11/2~11/20

    一.mybatis动态查询(分页排序搜索) mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和lim ...

  3. index客户主页+页面分页的模糊查询 and add知识

    一.首先回望一下,我们经常会在JSP学习中遇到的问题和有必要掌握的 a little 知识. 1.如何修改默认的编码方式? 1)首先点击eclipse上方工具栏的window,选择preference ...

  4. Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能

    Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据.实现分页和查询功能 一.部分技术选型 二.项目结构 三.功能需求和效果展示 四.关键代码 4.1页 ...

  5. Spring Boot2.0 JPA 实现分页(简单查询分页、复杂查询分页)

    一.简单分页(只有一个查询条件) 在Repository层将查询语句的返回值类型设置为为Page类型,查询参数中加入Pageable pageable,如: @Repository public in ...

  6. django ajax 查询,Django分页和Ajax查询

    在Django中,实现分页以在多个页面上显示查询项目是非常简单的.使用Ajax仅更新实际发生更改的页面位,而不是每次加载整个页面也是非常直接的.但是,当我们将两者结合在一起时,我发现它有点问题.Dja ...

  7. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  8. Elasticsearch(十)【NEST高级客户端--搜索查询】

    搜索 Search API允许您执行搜索查询并获取与查询匹配的搜索匹配. Elasticsearch的搜索功能可能是您使用它的原因之一,NEST公开了所有可用的不同类型的搜索,以及一些聪明的使用Ela ...

  9. Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改

    难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...

  10. elasticsearch 6.2.2 搜索推荐系列(三)之高级搜索查询实现( 中文+拼音+首字母+简繁转换+特殊符号过滤)

    一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如 ...

最新文章

  1. mysql goto,如何在MySQL存储函数中使用goto标签
  2. 为什么log4j的概念模型是错的--zlog的模型简介
  3. Android中Webview使用javascript调用事先定义好的Java函数
  4. 2018年应用交付控制器市场将发生重大变化
  5. 浅谈c++中结构体和共用体的区别
  6. vector元素个数_STL之vector
  7. java彩票开奖程序_用java 实现彩票摇奖,猜拳程序
  8. 安装好的java在哪里打开_安装了java怎么打开jar
  9. 使用labview制作漂亮的按钮
  10. .NET调用新浪微博开放平台接口的代码示例
  11. 自定义View实践:指南针的实现
  12. 玩客云手动设置IP地址
  13. oracle学习笔记(四)-- 数学函数
  14. ISIS—ISIS中LSP(数据库)同步如何保证LSDB可靠性—04
  15. 【独行秀才】macOS Monterey 12.2.1正式版(21D62)原版镜像
  16. 原生 js 实现无缝滚动轮播
  17. 便携式CAN分析仪can总线的产品特性及选型分享
  18. 《她的声音,每一首歌都是一个驿站》
  19. Python 视频(连续图片)转gif动图
  20. MySQL的登陆错误:ERROR 1049 (42000): Unknown database ‘123456‘

热门文章

  1. 在华为三层交换机上如何实现不同vlan间的通信
  2. 日记 [2007年11月19日]...
  3. 在计算机领域黑箱,探究黑箱的认知革命
  4. 可变条码打印软件如何制作黑底白字条形码
  5. viper12a电源电路图_viper12a引脚功能图与引脚电压
  6. 安卓手机有坏点测试软件,检测手机屏幕是否有坏点的方法分享 怎么检测手机屏幕坏点...
  7. keytool条目_keytool常用命令
  8. Ubuntu下VSCode使用等宽字体设置
  9. 基于MATLAB的身份证号码的识别算法
  10. 在计算机中()个字节称为MB,计算机基础考试题库(范文).doc