如何使用Vanilla JS基于传入关键词获取匹配的建议结果
原生JS实现课程名称模糊搜索
翻译后的课程数组
let suggestions = [ "学位预科", "商务高级国家文凭(市场营销管理方向)", "商务高级国家文凭(人力资源管理方向)", "商务高级国家文凭(商务分析方向)", "澳大利亚学位第一年文凭", "国际商务与金融荣誉文学学士", "全球商务文学学士(专升本)", "国际商务方向商务管理荣誉理学学士", "市场营销管理方向商务管理荣誉理学学士", "人力资源管理方向商务管理荣誉理学学士", "国际商务工商管理硕士", "工商管理硕士(通用方向)", "人力资源管理工商管理硕士", "商务分析方向工商管理硕士", "战略营销理学硕士", "特许管理会计师公会资格认证" ];
实现代码
使用原生JS的filter和includes方法实现模糊匹配,统一转为小写以兼容中英文混合的大小写场景:
function searchCourses(input) { const normalizedInput = input.toLowerCase(); return suggestions.filter(course => course.toLowerCase().includes(normalizedInput) ); }
使用示例
- 输入
"HND"时,返回结果:
[ "商务高级国家文凭(市场营销管理方向)", "商务高级国家文凭(人力资源管理方向)", "商务高级国家文凭(商务分析方向)" ]
- 输入
"管理"时,返回结果:
[ "商务高级国家文凭(市场营销管理方向)", "商务高级国家文凭(人力资源管理方向)", "市场营销管理方向商务管理荣誉理学学士", "人力资源管理方向商务管理荣誉理学学士", "人力资源管理工商管理硕士" ]
内容的提问来源于stack exchange,提问作者Madhushan Sandanruwan
相关产品推荐
相关产品推荐

