js实现模糊查询

       模糊查询是怎么实现的? 首先,我们要知道模糊查询是根据输入关键字来匹配字符的。然后,根据字符匹配算法来匹配你的输入值,最后筛选出匹配后的关键值就ok了。

        常见的匹配方法有两种:一、indexOf()字符串方法;二、正则匹配

eg:   var list = ['we1','rt5','yuy6','nv8'];var keyWord = 'T'

indexOf()

// 模糊匹配
function searchData ( keyWord, list) {
if (! Array. isArray( list) && keyWord !== '') return
let arr = []
let keyword = keyWord. toLocaleLowerCase() // 不区分大小写
for ( let i = 0; i < list. length; i++) {
if ( list[ i]. indexOf( keyword)!== -1) arr .push( list[ i])
}
return arr
}


正则匹配

可以使用匹配函数,match和test

function searchData ( keyWord, list) {
if (! Array. isArray( list) && keyWord !== '') return
let arr = []
let reg = new RegExp( keyWord, 'i') // 不区分大小写
for ( let i = 0; i < list. length; i++) {
if ( list[ i]. match( reg)) arr .push( list[ i])
}
return arr
}
这样子就OK了。

你可能感兴趣的:(算法)