题目:输出字符串中出现最多字母
var str = 'aassddddfffff'
- 方法1
function theMost(str){
return str.split('').sort() // ["a", "a", "d", "d", "d", "d", "f", "f", "f", "f", "f", "s", "s"]
.join('').match(/(\S)\1*/g) // ["aa", "dddd", "fffff", "ss"]
.sort((a,b)=>{
return b.length-a.length // 按照字符串长度排序
})[0][0]
}
console.log(theMost(str))
- 方法2
let rdc =str=> str.split('').reduce((pre,next)=>{
pre[next] = ++pre[next] || 1;
return pre
},{}) //reduce 累计计数,初始值设为对象
let mostWord = obj => Object.keys(obj).sort((a,b)=>{
return obj[a]-obj[b]
}).pop()
console.log(mostWord(rdc(str)))
网友评论