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'))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM