本文介绍方法搜索效率太低,之前没有想到有更好的方法。现在我用的是直接搜索,然后把匹配结果放进新数组

今天给小程序添加个搜索功能,需要实现前端一个list列表的搜索。

搜索有search()和indexOf()两个方法,搜了一下两者的区别,发现indexOf在搜索字符串的情况下效率更高,于是选择了indexOf

另外存储变量也有两种方案:

  1. 直接给details[id]加多一个HIDDEN变量,details[ID].HIDDEN
  2. 新增一个hidden变量,hidden[id]

试了一下,直接在wx:if中使用item.HIDDEN比hidden[index]速度更加快。


刚开始打算使用Change函数,直接input输入实时进行搜索。

handleZanFieldChange(e) {
    for(var i = 0; i < this.data.details.length; i++)
    {
      var data = this.data.details[i];
      if (data.NAME.indexOf(e.detail.value) == -1)
      {
        
阅读更多