最近遇到了需要前端模糊查询现有数据的功能。 方法有很多种,但我个人建议使用正则表达式来实现。 我实现的方法如下所示。
封装共同方法:
//list是现有数据,search是模糊搜索关键字exportfunctionfuzzysearch(list,search ) {let data=[]; if(list.Length!=0 search ) {let str=`S*${search}S* `; letreg=newregexp(str; list.map(item={if(reg.test ) item.name ) ) data.push ) item ); }return data; }最终返回模糊匹配的数组。
在使用的地方引入这个方法,直接参与就可以了。
this.list=fuzzy search (this.datalist,this.keyWord ); 不区分大小写的情况下,在正则后面直接加上‘I’就可以了。
letreg=newregexp(str,' I ' );