2014-05-10 59 views
0

一個字符串我在JavaScript中如何搭配全數組元素

var arr = ["12","22","33","42"]; 
  1. 如果我搜索1它不應該匹配,因爲它不是一個完整的數組元素的數組。
  2. 如果我搜索12,它應該匹配,因爲它是一個完整的數組 元素。

我已經搜索網頁此卻發現

var match = arr.indexOf('1'); 

但是,這並沒有解決我的問題

任何人都可以幫忙嗎?

+5

它看起來像indexOf似乎正是你所需要的。也許你可以詳細說明爲什麼它不能解決問題? –

+0

indexOf應該工作。所以,如果它不起作用,我會建議發佈你的代碼。記住indexOf如果找不到就返回-1。你可以在這裏閱讀關於indexOf的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf – WizKid

+0

+1給Felix - 同樣,只是要清楚indexOf返回 - 1當沒有匹配時。 – jtmoulia

回答

0

請參考這一點,我認爲這會幫助你,
$.inArray()方法是在類似於JavaScript的本地.indexOf()方法時,它不會返回-1找到匹配。如果數組中的第一個元素匹配值,則$.inArray()返回0
所以試試這個。
$.inArray(1,arr) > -1

0

因此indexOf返回您正在搜索的元素的位置。如果找不到元素,則返回-1。這是您可以檢查的方式。

var arr = ["12","22","33","42"]; 
var match = arr.indexOf("12"); 
if(match > -1) { 
    // Found match, at position "match" 
    var element = arr[match]; // = "12" 
} else { 
    // Element not in array 
} 
0

試試這個:

var a = ["12","22","33","42"]; 
if(a.indexOf('12')!= '-1') 
{ 
    alert("success") 
} 
else 
{ 
    alert("failure") 
}