JavaScript判斷字符串中出現次數最多的字符,並統計其次數


要求:

輸出一個給定字符串abdgdbcaethbganmugthaesqszaphfdvwd中出現次數最多的字符,並統計其次數。

實現思路:

  1. 利用charA()遍歷這個字符串
  2. 把每個字符都存儲給對象,如果對象沒有該屬性,就先幅值為1,如果存在了就+1
  3. 遍歷對象,得到最大值和該字符
  4. 在遍歷的過程中,把字符串中的每個字符作為對象的屬性存儲在對象中,對應的屬性值是該字符出現的次數

代碼實現:

// 1.統計次數
var str = 'abdgdbcaethbganmugthaesqszaphfdvwd';
var obj = {};
// 創建了一個空的對象,存儲字符串中的每個字符。屬性:每個字符,屬性值:該字符出現的次數
for (var i = 0; i < str.length; i++) {
    // 遍歷字符串
    var chars = str.charAt(i);
    // chars代表字符串的每一個字符
    if (obj[chars]) {
        obj[chars]++;
    } else {
        obj[chars] = 1;
    }
    // obj[chars]屬性值:該字符出現的次數
    // 如果已經存在,那么次數+1;否則賦值為1
}
console.log(obj);
// 輸出對象obj,顯示每個字符出現的次數

// 2.遍歷對象,找出最大的次數
var max = 0;
var ch = '';
for (var k in obj) {
    if (obj[k] > max) {
        max = obj[k];
        ch = k;
    }
}
// k代表屬性:每個字符
// obj[k]代表屬性值:該字符出現的次數
// 將次數最多的字符賦值到ch

console.log('最多的字符是' + ch + ',次數為' + max);

輸出結果:

{a: 5, b: 3, d: 4, g: 3, c: 1, …}
最多的字符是a,次數為5


免責聲明!

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



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