模糊查询是怎么实现的? 首先,我们要知道模糊查询是根据输入关键字来匹配字符的。然后,根据字符匹配算法来匹配你的输入值,最后筛选出匹配后的关键值就ok了。
常见的匹配方法有两种:一、indexOf()字符串方法;二、正则匹配
eg: var list = ['we1','rt5','yuy6','nv8'];var keyWord = 'T'
1 . indexOf()方法进行查询
// 模糊匹配
、、、
functionsearchData(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
}
、、、
2. 正则匹配
可以使用匹配函数,match和test
functionsearchData(keyWord, list) {
if(!Array.isArray(list) && keyWord!=='') return
let arr= []
let reg=newRegExp(keyWord,'i') // 不区分大小写
for(let i=0; i< list.length; i++) {
if(list[i].match(reg)) arr.push(list[i])
}
return arr
}
网友评论