JS求任意字符串中出現最多的字符以及出現的次數


我愛擼碼,擼碼使我感到快樂!
大家好,我是Counter
本節講講如何利用JS來查找任意給定的字符串,求字符串中出現次數最多的字符,出現的次數。
直接上代碼了,該注釋的都注釋啦。非常輕松加愉快。
效果如下: (當然你也可以自己隨便定義一個字符串,傳進函數,就可以求出值了)

代碼給出,還是老樣子,每行都注釋。歡迎一起技術探討,一起進步。

// 隨意定義一個字符串
        var str = "111iiiw2shhfel000";

        // 定義函數
        function num(str) {
            // 定義一個空對象,因為這邊要求出現最多次數,以及出現的字符,這邊使用對象的方式再合適不過了,鍵值對的形式
            var obj = {};
            // 求出字符串的長度
            var len = str.length;
            // for循環如果遍歷整個字符串
            for( var i = 0; i < len; i++) {
                // 將每個字符賦值給alpha
                var alpha = str[i];
                // 如果定義的obj里有這個字符的話,那么這個字符的值加1
                if ( obj[alpha] ) {
                    obj[alpha]++;
                }
                // 否則的話這個字符的值等於1,剛開始肯定都是走這邊,因為對象使我們定義的空對象,現在才開始增加屬性
                else {
                    obj[alpha] = 1;
                }
            }
            // 隨意定義一個出現最多的次數
            var maxNum = -1;
            // 遍歷obj對象
            for( key in obj) {
                // 求出obj里出現最多字符的次數並且賦值給maxNum
                if ( obj[key] > maxNum) {
                    maxNum = obj[key];
                }
            }
            // 定義一個空數組
            var maxKey = [];
            // 再次遍歷obj對象
            for( key in obj) {
                // 如果當前的obj里的字符出現次數等於maxNum的話,就像我們定義的空數組里添加這個字符
                if ( obj[key] == maxNum) {
                    maxKey.push(key);
                }
            }
            // 將結果打印出來
            console.log('出現最多次數的字符是:' + maxKey + ' 出現次數為:' + maxNum);
        }

 


免責聲明!

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



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