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

时间:2010-01-23 09:31:15

标签: javascript jquery

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

是的,我可以使用jQuery:)

3 个答案:

答案 0 :(得分:2)

您可以使用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();
}

答案 1 :(得分:1)

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

for (var i=0; i<theArray.length; i++) {
  if (theArray[i] == theString) {
    theFunction();
    break;
  }
}

答案 2 :(得分:1)

您可以使用已加入ECMAScript 5的Mozilla扩展程序some()

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