JS输出字符串中出现最多次数的字符
一道很简单的题。。由于面试看错了题目,导致面试不通过。。
痛定思痛,把这道题专门写出来
题目:
输出字符串中出现最多次数的字符
输入:'aabbccccdd'
输出:'cccc'
代码:
function getLog(str) {
var obj = {} //创建一个对象用于存储每个字符以及它出现的次数
var newstr = ''
for (var i = 0; i < str.length; i++) {
var key = str[i] //遍历字符串,将字符赋值给key
if (obj[key] == undefined) { //判断该对象中有没有这个key
obj[key] = 1 //如果没有,设置这个key出现的次数为1
}
else {
obj[key]++ //如果有,将key值出现的次数+1
}
}
var max = Math.max(obj[key]) //将次数最多的这个次数赋值给max
while (max > 0) { //按照次数将这个key重复拼接
newstr += key
max--
}
return newstr
}
哭了,这道题。。。