回答
你可以使用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