回答
你可以使用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<theArray.length; i++) {
if (theArray[i] == theString) {
theFunction();
break;
}
}
不要使用'for..in'来遍历数组! – Christoph 2010-01-23 11:36:57
@Christoph:感谢您的高举。我通常不会使用for..in,并且它在教程中使用时没有任何可能的风险。 – Guffa 2010-01-23 12:08:27
周围有很多糟糕的JS代码;这就是流行语言的问题:每个人都声称“知道”他们,并且倾向于传播他们的知识;即使是来自'官方'来源的信息,你认为这些人应该知道他们在谈论的内容有时只是错误的(*咳嗽* Apple JavaScript Coding Guidelines) – Christoph 2010-01-23 12:32:46
- 1. 如果url不包含数组中的字符串,则执行函数
- 2. 如果数组值包含字符串
- 3. 如果搜索字符串数组包含数组,如果字符的
- 4. 基于包含函数名称的字符串调用函数
- 5. 如果项目值包含搜索字符串字符,从数组中删除项目
- 6. 字符串包含任何字符数组
- 7. 如何排序包含数字的字符串数组,数字
- 8. IQueryable包含字符串数组中的任何一个
- 9. 如果包含一些字符串/符号,则从数组中删除元素
- 10. 如何制作包含文件目录的字符串数组?
- 11. 字符串包含数组中的任何项(不区分大小写)
- 12. 如果URL哈希不包含任何字符串,请执行函数
- 13. 包含数字的字符串数组中的最大数字
- 14. 如果输入包含数组中的任何字
- 15. PHP字符串变量包含数组函数的输入
- 16. 字符串中包含非数字字符的数字数组使用Javascript
- 17. 包含字符串的数组
- 18. 解析包含数组的字符串
- 19. 检查一个字符串是否包含任何字符串数组元素
- 20. 将字符串包含到数组项中的分割字符串
- 21. 排序包含字符串在目标c中的数组
- 22. 查找包含numpy数组中子字符串的条目?
- 23. 如果列表中的项目不包含“字符串”,添加一个“字符串2”的项目?
- 24. Javascript - 如何用字符串调用任何函数?
- 25. 调用/调用基于数组中包含的字符串值的方法
- 26. C#/ WinForms:设置CheckedListBox项目包含来自字符串/数组的数据
- 27. 排除数组,如果它包含字符串
- 28. LINQ to SQL查询帮助(字符串包含字符串数组中的任何字符串)
- 29. 如何检查对象数组中包含的字符串
- 30. 如何检查TextView是否包含数组中的字符串?
你可以更具体一点吗?你能举个例子吗?..我没有解决问题。 :) – Reigel 2010-01-23 09:45:24
InArray是否适合您? http://api.jquery.com/jQuery.inArray/ – David 2010-01-23 10:27:08