概念在JavaScript

问题描述:

like语句我有一个数组,并想用同样的概念作为像SQL查找特定字符串中的字符。概念在JavaScript

这是我想要使用:

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

感谢您的帮助。

+0

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

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

这个工作。非常感谢。 – MdeVera

使用String.indexOf()

请注意,早期版本的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 –

我不知道你在寻找什么,但它要找到你的代码似乎名字。如果这只是一个例子,并且你不想要名字,我可能不会很好地回答你的问题。我找不到任何有关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之间)