+
95
-

回答

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">

</head>

<body>
<script type="text/javascript">
var allMsg = [
{ name: "薛之谦", id: 1 },
{ name: "霍建华", id: 2 },
{ name: "蔡徐坤", id: 3 },
{ name: "胡歌", id: 4 },
{ name: "胡说", id: 5 }
];

// 其余代码同上
function handleSearch(queryString) {

let queryStringArr = queryString.split("");

let str = "(.*?)";
let filterMsg = [];
let regStr = str + queryStringArr.join(str) + str;

let reg = RegExp(regStr, "i"); // 以mh为例生成的正则表达式为/(.*?)m(.*?)h(.*?)/i
allMsg.map(item => {
if (reg.test(item.name)) {
filterMsg.push(item);
}
});
return filterMsg;
}
console.log(handleSearch("建华"));
</script>
</body>

</html>


网友回复

我知道答案,我要回答