模糊查询是怎么实现的? 首先,我们要知道模糊查询是根据输入关键字来匹配字符的。然后,根据字符匹配算法来匹配你的输入值,最后筛选出匹配后的关键值就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
}