如果字符串包含数组中的任何项目,如何调用JavaScript函数?
是的,我可以使用jQuery:)
答案 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');