开发者问题收集

JavaScript 中 indexOf 的替代品

2012-12-02
18954

我有字符串作为 这是替代方案的测试 。我想找到的是 for 的位置。我知道我可以使用 alert(myString.indexOf("for")) 来完成此操作,但是我不想使用 indexOf

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

jsfiddle

同样,我只需要通过 Javascript 来完成此操作。没有 jQuery.. 很遗憾 :(

2个回答
.search()?

"this is test for alternative".search("for")
>> 13
Barak
2012-12-02

您可以编写自己的 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;
}
koopajah
2012-12-02