很直接。在 javascript 中,我需要检查一个字符串是否包含数组中保存的任何子字符串。
原文由 PercivalMcGullicuddy 发布,翻译遵循 CC BY-SA 4.0 许可协议
很直接。在 javascript 中,我需要检查一个字符串是否包含数组中保存的任何子字符串。
原文由 PercivalMcGullicuddy 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
没有任何内置功能可以为您执行此操作,您必须为它编写一个函数,尽管它可以只是对
some
数组方法的回调。两种方法供您使用:
排列
some
方法正则表达式
排列
some
数组
some
方法(在 ES5 中添加)使这变得非常简单:使用箭头函数更好,并且新的
includes
方法(都是 ES2015+):现场示例:
正则表达式
如果您 知道 字符串不包含任何正则表达式中的特殊字符,那么您可以作弊,如下所示:
…创建一个正则表达式,它是您正在寻找的子字符串的一系列 _交替_(例如
one|two
)并测试是否有匹配的任何一个,但如果任何子字符串包含任何字符在正则表达式(*
,[
等)中很特殊,你必须先逃避它们,你最好只做无聊的循环。有关逃避它们的信息,请参阅 此问题的答案。现场示例: