方法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);