如果字符串包含数组中的任何项,则调用函数

如果字符串包含数组中的任何项,如何调用JavaScript函数?

是的,我可以使用jQuery 🙂

您可以使用some() ,一个已添加到ECMAScript 5的Mozilla扩展:

var haystack = 'I like eggs!'; if(['spam', 'eggs'].some(function(needle) { return haystack.indexOf(needle) >= 0; })) alert('spam or eggs'); 

您可以使用grep函数来查找是否有任何元素满足条件:

 // get all elements that satisfy the condition var elements = $.grep(someArray, function(el, index) { // This assumes that you have an array of strings // Test if someString contains the current element of the array return someString.indexOf(el) > -1; }); if (elements.length > 0) { callSomeFunction(); } 

只需循环遍历数组中的项目并查找值。 即使你使用某种方法为你做这件事,你也必须这样做。 通过循环自己,您可以在找到匹配时轻松突破循环,这将平均减少您需要检查的项目数量。

 for (var i=0; i