美文网首页
原生JS实现字符串indexOf方法(使用基本遍历法)

原生JS实现字符串indexOf方法(使用基本遍历法)

作者: 一只小小明 | 来源:发表于2019-10-07 00:05 被阅读0次

    昨天秋招笔试遇到的一道题,记录下来给大家参考,如果没写对,还请大家指正,前端小白在此谢过各位.

    String.prototype.myIndexOf = function(str,n) {
            let len1 = this.length;
            let len2 = str.length;
            let i = n || 0;
            //this => 原字符串
            //str => 目标字符串
            for(i; i < len1; i++) {
                if(this[i] == str[0]){  //如果this第i个字符与str的第一个字符相同
                    for(j = 0; j < len2; j++) {  //在i的基础上,接着循环遍历str中的每一个字符
                        if(str[j] !== this[i+j]){
                            if(i == len1-1){
                               return -1;
                            }else{  //如果当前字符与原字符不符合,则需要往下继续寻找下一个首字母吻合的位置
                                break;
                            }
                        }else {   //如果全部字符都对应上,返回首字符对应的位置,否则继续寻找
                            if(j == len2-1) {
                                return i;
                            }else{
                                continue;
                            }
                        }
                    }
                }else{
                    if(i == len1 - 1){
                        return -1;
                    }
                }
            }
        }
        let a = "acanacd".myIndexOf("acd");
        let c = "asddffrg".myIndexOf("frg");
        let b = "acadecamic".myIndexOf("cai");
        let d = "acadecamic".myIndexOf("ca",3);
        console.log(a);//4
        console.log(b);//-1
        console.log(c);//5
        console.log(d);//5
    

    相关文章

      网友评论

          本文标题:原生JS实现字符串indexOf方法(使用基本遍历法)

          本文链接:https://www.haomeiwen.com/subject/uczsuctx.html