首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤匹配字符序列的JavaScript字符串数组

过滤匹配字符序列的JavaScript字符串数组
EN

Stack Overflow用户
提问于 2018-06-19 11:22:48
回答 4查看 6.5K关注 0票数 3

如何有效地过滤与字符序列匹配的字符串数组,以便字符可以在字符串中的任何位置匹配,但按使用顺序匹配?

这是编辑器和IDE中常见的一个功能,可以快速过滤文件名。

在附加的图像链接中查看滤镜的运行情况的插图。

这不是JavaScript autocomplete without external library的副本,因为这里的其中一个要求是用户输入"Caz“与这个问题的答案中解释的”Caz“匹配,但在其他问题的答案中没有。

EN

Stack Overflow用户

发布于 2019-11-29 19:02:17

这实际上比看起来简单。此外,目前接受的解决方案实际上并不一致。

您只需构造一个正则表达式,该正则表达式接受搜索字符串的每个字符之间的0个或更多个字符。

代码语言:javascript
运行
复制
const values = ['Belgium', 'Brest', 'Britian']
const query = 'Be'

// /.*b.*e.*/
const re = RegExp(`.*${query.toLowerCase().split('').join('.*')}.*`)

// [ 'Belgium', 'Brest' ]
const matches = values.filter(v => v.toLowerCase().match(re))
票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50920180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档