1、首先将字符串构造成一个字符频率的对象,字符作为Key,频率作为value
2、其次,遍历构造的对象,比对Value,将Value最大的key输出
以下代码仅供参考
function getMaxChar(str) {
if (str.length === 1) {
return str
}
const tempArr = str.split('')
const tempObj = {}
// 构造出现字符频率的对象
tempArr.forEach(item => {
if (!tempObj.hasOwnProperty(item)) {
tempObj[item] = 1
} else {
tempObj[item]++
}
})
let maxNum = 1
let maxChar = ''
// 从字符出现频率的对象中找到value最大那个key
for (let key in tempObj) {
if (tempObj[key] > maxNum) {
maxNum = tempObj[key]
maxChar = key
}
}
return maxChar
}
const testStr = 'qwertqwe'
console.log(getMaxChar(testStr)) // q