2015-07-20 62 views
-3

原來,問題是,我必須得到一些通知,當項(城市項目中的名稱),由用戶在jQueryUI的自動完成功能不與收集任何匹配輸入(進入「我的甜蜜都市」和它doesn」不匹配[莫斯科,紐約,北京])。因此,我將重寫我的代碼在陣列手動搜索,但我有一個問題 - 在陣列像自動完成搜索如何做?JS搜索

+0

的可能重複的[使用Javascript - 搜索字符串字符串數組內(http://stackoverflow.com/questions/5424488/javascript-search-for-a-string的 – JJJ

+0

可能重複的 - 內-AN-陣列的串)[Javascript數組搜索和刪除字符串?](http://stackoverflow.com/questions/9792927/javascript-array-search -and-除去串) –

回答

1

有幾個方法可以做到這一點。如果是簡單的東西,你可以逃脫使用indexOf找到匹配,像這樣:

var arr = ["one", "two", "three", "four", "five"]; 
var inputText = "three"; 

if (arr.indexOf(inputText) > -1) { 
    alert("item found"); 
} 
else { 
    alert("item not found"); 
} 

另一種選擇(和更有效的選擇),將使用常規explression和循環通過數組以查找匹配(由Aleadam提及):

function searchStringInArray (str, strArray) { 
    for (var j=0; j<strArray.length; j++) { 
     if (strArray[j].match(str)) return j; 
    } 
    return -1; 
}