javascript:有没有优雅的方法来检查字符串是否包含数组中给定的任何字符
我的JavaScript代码中有一个javascript:有没有优雅的方法来检查字符串是否包含数组中给定的任何字符,javascript,arrays,string,Javascript,Arrays,String,我的JavaScript代码中有一个字符串(纯JavaScript,不涉及jQuery或任何其他LIB)。我还有一个数组,它包含字符串中的字符。我需要检查字符串是否包含这些字符。当然,可以使用临时变量,如found和数组元素迭代来完成 但是有没有什么方法可以编写漂亮紧凑的代码呢?以防万一,我使用ES5(IE9+) 我想达到这样的目标 var str = "Here is the string", chars = ['z','g']; if (str.containsAnyOf(char
字符串
(纯JavaScript,不涉及jQuery或任何其他LIB)。我还有一个数组
,它包含字符串中的字符
。我需要检查字符串是否包含这些字符。当然,可以使用临时变量,如found
和数组元素迭代来完成
但是有没有什么方法可以编写漂亮紧凑的代码呢?以防万一,我使用ES5(IE9+)
我想达到这样的目标
var str = "Here is the string",
chars = ['z','g'];
if (str.containsAnyOf(chars)) {
...
}
编写这段代码的最佳方法是什么?您可以这样使用
if (chars.some(function(c) { return str.indexOf(c) !== -1; })) {
// Atleast one of the characters is present
};
考虑使用正则表达式:
var str=“这是字符串”,
字符=['z','g'];
//构造以下regexp:/[zg]/
if(新的RegExp(“[”+字符连接(“+”])测试(str)){
警报(“包含!”);
}
在我看来,编写自己的函数是最好的选择,因为它可以提供最佳性能:)您也可以尝试使用contains()函数