前端 模糊 搜索 经验总结

前端交易搜索总结

1. 精确搜索

优点简单快捷 一行js 代码搞定 缺点不支持 拼音搜索 模糊搜索

let res  = [{
          
   name:123},{
          
   name:我的名字1}].filter(array => array.name.match(我));

2. 使用 damerau-levenshtein 模块 距离算法搜索

需要先安装 npm 模块 damerau-levenshtein 优点 支持模拟搜索 支持拼音搜索 缺点 搜索不准确 (致命伤) 基本用法

3. 使用 pinyin-match 搜索模块

经过了无数次的尝试我发现无法提高 damerau-levenshtein 模块搜索精确度(弃用 ) 感谢老天 让我发现了pinyin-match 一个跟加适合前端搜索的模块 优点 1.支持拼音搜索 2.支持模糊搜索 3.搜索结果精确高 缺点 暂时还没发现

基本用法

//PinyinMatch 返回 数组 || false
import PinyinMatch from pinyin-match;
let [0,1] = PinyinMatch.match(你好吗123, ni)

前端模糊搜索 最终解决方案:

import PinyinMatch from pinyin-match;
export const filterList = (list, str) => {
          
   
  return [...list].filter((item) => PinyinMatch.match(item.name, str));
};
经验分享 程序员 微信小程序 职场和发展