js统计字符串中出现次数最多的字符?

2018-09-18  本文已影响0人  bby365

方法1

// es6

let theMost = str => str.split('').sort()
.join('').match(/(\S)\1*/g)
.sort((a,b)=>b.length-a.length)[0][0]

// es5
function theMost(str){
    return str.split('').sort().join('').match(/(\S)\1*/g).sort(function(a,b){
        return b.length - a.length
    })[0][0]
}

方法2

var str = '我爱北京天安门,天安门上太阳升';
var freqs = {}; // 用来记录所有的字符的出现频次
var mostFreqChar = ''; //用来记录最大频次的字符

for (var i = 0; i < str.length; i++) {
    var char = str[i];
    if (!freqs[char]) {
        freqs[char] = 0;
    }
    freqs[char] ++;
    if (mostFreqChar == '' || freqs[char] > freqs[mostFreqChar]) {
        mostFreqChar = char;
    }
}
return mostFreqChar


console.log(freqs);
console.log(mostFreqChar);
上一篇 下一篇

猜你喜欢

热点阅读