JavaScript中的like语句的概念

时间:2011-08-29 16:02:30

标签: javascript

我有一个数组,并希望在SQL中使用相同的概念来查找字符串中的某些字符。

这就是我想要使用的:

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

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

使用String.indexOf()

答案 1 :(得分:2)

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

答案 2 :(得分: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;
        }
    }

聚苯乙烯。我打算将此作为评论发布,但还没有足够的声誉这样做: - /

答案 3 :(得分:0)

我不确切地知道您在寻找什么,但从您的代码中可以看出您想要找到一个名字。如果这只是一个例子,并且你不想要名字,我可能不会很好地回答你的问题。我在网上找不到if(foo ^= bar)的任何内容。

通过var firstName = name.split(' ')[0]获取字符串中的第一个单词(如名字)很容易。

要了解字符串与另一个字符串的相似程度,在另一个this中建议使用SO answer。我对此一无所知。

就个人而言,如果给出查找名字是否与给定字符串相似的任务,我会在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

之间