javascript擷取重複次數最多的字元,javascript次數

來源:互聯網
上載者:User

javascript擷取重複次數最多的字元,javascript次數

javascript擷取重複次數最多的字元

/**  取出字串中重複字數最多的字元*/var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa';       //建立字串var word,                           //單個字元  length;                          //該字元的長度//定義輸出對象var max = {  wordName : '',                      //重複次數最多的字元  wordLength : 0                      //重複的次數};//遞迴方法,傳入字串(function(words) {  if (!words) return;         //如果字串已經變空則返回,結束遞迴  word  = words[0];         //取出字串中的第一個字元  length = words.length;         //將length設為當前字串長度  words  = words.replace(new RegExp(word, 'g'), ''); //返回將字串剔除當前字元的剩餘字串  length = length - words.length;      //重設length為當前字元在字串中的長度  if (length > max.wordLength)       //如果該字元重複次數大於maxLength,則重設maxLength為當前字元重複次數    max = {               //重設對象的值      wordName  : word,                  wordLength : length           };                arguments.callee(words);        //遞迴調用,傳入剩餘字串})(words);console.log(max.wordName+"\n"+max.wordLength);     //遞迴結束後輸出結果  

今天上午偶然看見這樣的一個問題.看到網上大部分是用兩個迴圈做出來的.然後自己用遞迴寫了一下

思路是

  每遞迴一次.取出第一個字元.從字串中剔除相同符號的字元,並拿之前的字串長度減去剔除後的字串長度.

  得到的是該字串中當前字元所重複次數.

  判斷該字元重複次數是否大於當前輸出對象中儲存的maxLength.

  如true,則更新

  然後進入下次遞迴,直到字串被替換完,終止

  輸出對象中儲存的就是次數最多的字元以及重複的次數

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.