网友回复
<!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>