繁花似锦觅安宁,淡云流水度此生。
缘深缘浅随它去,花开花落总归尘。

String字符串不使用indexOf方法查找出第一次出现的下标

输入 str1="www.baidu.com"   str2="baidu"

输出  str2在str1中第一次出现的位置,没有则返回-1,如上返回位置4

复制代码
function findStrIndex (targetStr, findStr) {
  // 要查找的字符串不存在时,返回-1
  if (!findStr) {
    return -1
  }
  // 目标字符串和要查询的字符串相等时,返回起始位置0
  if (targetStr === findStr) {
    return 0
  }
  let length1 = targetStr.length
  let length2 = findStr.length
  // 查询的字符串长度大于目标时,目标肯定不包含被查询的,返回-1
  if (length2 > length1) {
    return -1
  }
  for (let i = 0; i < length1; i++) {
    let str = targetStr.substr(i, length2)
    if (str.length !== findStr.length) {
      return -1
    } else {
      if (targetStr[i] === findStr[0]) {
        // 当循环到目标值中存在 查询值的第一个字符,截取出和查询值一样长度的字符
        // 判断相等则返回下标不相等时继续查找下一个用于判断的字符
        if (!(str === findStr)) {
          continue
        } else {
          return i
        }
      }
    }
  }
}
console.log(findStrIndex('www.baidu.cn', 'asd'))
复制代码
posted @   良人非良  阅读(705)  评论(4编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示