• 实现一个字符串匹配算法,从字符串 H 中,查找 是否存在字符串 Y ,若是存在返回所在位置的索引,不存在返回 -1(不基于indexOf/includes方法)


    /**
    1、循环原始字符串的每一项,让每一项从当前位置向后截取 H.length 个字符,
    然后和 Y 进行比较,如果不一样,继续循环;如果一样返回当前索引即可
    **/
    function myIndexOf(Y) {
      let lenY = Y.length,
        lenH = H.length,
        res = -1;
      if (lenY > lenH) return res;
      for (let i = 0; i <= lenH - lenY; i++) {
        if (this.substr(i, lenY) === Y) {
          res = i;
          break;
        }
      }
      return res;
    }
    String.prototype.myIndexOf = myIndexOf;

    let H = 'fighting',
    Y = 'ht';
    console.log(H.myIndexOf(Y));
     
    /**
    2、正则处理
    **/
    function myIndexOf(Y) {
      // this:H
      let reg = new RegExp(Y),
        res = reg.exec(this);
      return res === null ? -1 : res.index;
    }
    String.prototype.myIndexOf = myIndexOf;
    let H = 'fighting',
       Y = 'ht';
    console.log(H.myIndexOf(Y));
  • 相关阅读:
    【Rust】变量绑定
    【Rust】枚举的使用
    1月25日 学习记录
    1月19日 学习记录
    1月22日 学习记录
    1月21日 学习记录
    1月29日 体温APP开发记录
    今日进度
    今日进度
    今日进度
  • 原文地址:https://www.cnblogs.com/HYTing/p/12612020.html
Copyright © 2020-2023  润新知