一个大讨吃 2021-07-14 09:32 采纳率: 90.9%
浏览 55
已采纳

前端vue 从几万条数据中查找出来一条 查询过程非常慢 怎么解决

类似于一个模糊搜索的功能 从几万条中查找 速度慢 要20s往上 怎么解决

  • 写回答

4条回答 默认 最新

  • 风雪一更 2021-07-14 10:24
    关注

    正常情况下都是交给后端处理,但我就喜欢挑战不可能。
    如果你的需求非要前端处理,以下方案可供尝试:
    假设要查询的数据为用户名,前端有10000条用户名数据,不要全部放进一个一维数组里。
    根据名字拼音首字母,做成如下形式:

    var nameArr = [
      {
        firstName:'A',
        list:['爱新觉罗','哀绿'...]
      },
      {
        firstName:'B',
        list:['保罗','波塞东'...]
      }
      ...
    ]
    

    此时最外围数组只有26项(即26个首字母)
    监听输入框获取焦点后,添加键盘按键监听事件,判断按下的第一个字母,进行一次检索,定位到数组内对应的首字母,定义个变量储存。
    点击查询时,直接从该首字母的list数组中检索。
    假设总数据10000条,分成26项后,每个list平均只有385条数据。在385条数据中检索你输入框的内容,相信要比在10000条里搜索快得多!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月14日
  • 创建了问题 7月14日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题