我愛擼碼,擼碼使我感到快樂!
大家好,我是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); }