开发者社区> 问答> 正文

如何下面问题中提到的这种模糊搜索?

array = ["关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-新闻内页.html",
         "关于我们.html",
         "联系我们.html",
         "我们的产品.html"]

输入关键字“关于公告”,在array中查找,显示下面的列表。 希望能提供一个思路~~
screenshot

展开
收起
落地花开啦 2016-06-15 11:23:08 1982 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    将搜索关键字全部拆分,用.*拼接,然后正则匹配。javascript实现方法:

    var testarray = new Array('关于我们-网站公告-公告内页.html',
    '关于我们-网站公告-新闻内页.html',
    '关于我们.html',
    '联系我们.html',
    '我们的产品.html');
    var searchstr = '关于公告';
    var searcharr = searchstr.split('');
    var reg = new RegExp(searcharr.join('.*'));
    var resultarr=new Array();
    for(var i=0;i<testarray.length;i++) {
        if (reg.exec(testarray[i])) {
            resultarr.push(testarray[i]);
        }
    }
    console.log(resultarr);

    最后结果是:["关于我们-网站公告-公告内页.html", "关于我们-网站公告-新闻内页.html"]

    2019-07-17 19:38:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《开放搜索查询分析服务架构分享》 立即下载
O2O搜索优化实践之道 立即下载
《开放搜索统一召回引擎实践》 立即下载