2011-08-29 159 views
0

like語句我有一個數組,並想用同樣的概念作爲像SQL查找特定字符串中的字符。概念在JavaScript

這是我想要使用:

if (nameArray[i].nameInfo.fullName ^= "Bob") { 
    // TODO: some code. 
} 

感謝您的幫助。

+0

可能出現[JavaScript:string contains]重複(http://stackoverflow.com/questions/1789945/javascript-string-contains) –

回答

2
if (nameArray[i].nameInfo.fullName.indexOf("Bob") != -1) { 
    //todo : some code. 
} 
+0

這個工作。非常感謝。 – MdeVera

1

請注意,早期版本的IE不支持indexOf。在這種情況下,可以包含以下代碼。

if(!Array.indexOf){ 
     Array.prototype.indexOf = function(obj){ 
      for(var i=0; i<this.length; i++){ 
       if(this[i]==obj){ 
        return i; 
       } 
      } 
      return -1; 
     } 
    } 

Ps。我要張貼此作爲註釋,但沒有足夠的聲譽這樣做還: -/

+3

無論如何,在評論中可以清晰地格式化這麼多代碼是不可能的。 – Pointy

+0

這就是鏈接的用途:-P –

0

我不知道你在尋找什麼,但它要找到你的代碼似乎名字。如果這只是一個例子,並且你不想要名字,我可能不會很好地回答你的問題。我找不到任何有關if(foo ^= bar)在線。

這將是容易通過var firstName = name.split(' ')[0]得到一個字符串的第一個單詞(如名字)。

要了解字符串與另一個字符串的相似程度如何,請在另一個SO answer中建議this。我對此一無所知。

就個人而言,如果給定的任務是查找名字是否與給定的字符串相似,那麼我會比較string.toLowerCase()之後的兩個字符串的相似性,和/或比較每個字符。上面的庫似乎更好,如果你正在尋找總體相似性,但自定義函數將允許更多的控制相似性檢測。

function checkSimilarity(str, target, tolerance) { 
    for(x=0; x < str.length();x++) { 
     if(str.split('')[x].toLowerCase() == target.split('')[x].toLowerCase()) { 
      similar += 1; 
     } 
    } 
    if(similar => (target.length() * tolerance)) { 
     return true; 
    } 
    else { 
     return false; 
    } 
} 

不知道上述功能如何工作,但這是我想到的。 (容差需要在01之間)