亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串中的重復元素

字符串中的重復元素

尚方寶劍之說 2022-10-13 16:27:09
我正在嘗試編寫代碼來檢測函數中的哪個元素被重復以及重復了多少次。該代碼還將忽略大小寫的差異。示例:示例 "abcde" -> 0 # 沒有字符重復超過一次 "aabbcde" -> 2 # 'a' and 'b' "aabBcde" -> 2 # 'a' 出現兩次, 'b' 出現兩次 ( band B) "indivisibility" -> 1 # 'i' 出現六次這是我的代碼:    //...    let count = 0;    for(let i = 0; i < str.length; i++){      for(let j = 0; j <str.length; j++){          if(str[i] === str[j]){            count = count + 1 //Count will tally how many times each given letter is repeated            return console.log(`${str[i]} occurs ${count}`)          }      }          }  }  duplicateCount('blaaaab');
查看完整描述

3 回答

?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

循環遍歷字符串并存儲字符的出現次數


function duplicateCount(str) {

   let result = {}

   for(let i = 0; i < str.length; i++) {

       const char = str[i]

       if(char in result) {

           result[char] +=1

       } else {

           result[char] = 1

       }

   }

   return result

}

        

console.log(duplicateCount('blaaaab'));


查看完整回答
反對 回復 2022-10-13
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

您可以Set在此處使用結構并使用 O(n) 獲得結果


const word = "abcdEedutyhaaaa";


const duplicates = Array.from(word.toLowerCase())

  .reduce((builder, char) => {

    builder.all.has(char) ? builder.duplicate.add(char) : builder.all.add(char);

    return builder;

  }, { duplicate: new Set(), all: new Set() })

  .duplicate

  .size;


console.log(duplicates); // => 3


查看完整回答
反對 回復 2022-10-13
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

function repeatedCharacters(str){

   try{ 

return str.toLowerCase().split("").sort().join("").match(/(.)\1+/g).length;

 }

 catch(e){ 

return 0;

 } // if TypeError

}

console.log(repeatedCharacters("CheeecKKCaaz"))

上面的代碼告訴了有多少個字符重復,你可以修改它來確定每個字符的出現。


查看完整回答
反對 回復 2022-10-13
  • 3 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號