在Javascript中替代indexOf

时间:2012-12-02 12:16:24

标签: javascript indexof

我的字符串为this is test for alternative。我想要找到的是for的位置。我知道我可以使用alert(myString.indexOf("for"))完成此操作,但我不想使用indexOf

有关替代方案的任何想法/建议吗?

jsfiddle

同样,我需要仅通过 Javascript 完成此操作。没有jQuery ......可悲的是:(

2 个答案:

答案 0 :(得分:4)

.search()?

"this is test for alternative".search("for")
>> 13

答案 1 :(得分:1)

您可以编写自己的indexOf代码吗?你在源字符串上循环,并在每个字符上检查它是否是你搜索过的单词。

一个未经测试的版本,可以给你一个想法:

function myIndexOf(myString, word) {
    var len = myString.length;
    var wordLen = word.length;
    for(var i = 0; i < len; i++) {
        var j = 0;
        for(j = 0; j < wordLen; j++) {
            if(myString[i+j] != word[j]) {
                break;
            }
        }
        if(j == wordLen) {
            return i;
        }
    }

    return -1;
}