输出字符串中出现最多字母

2018-03-23  本文已影响7人  泉落云生

题目:输出字符串中出现最多字母

var str = 'aassddddfffff'


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))


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)))

上一篇 下一篇

猜你喜欢

热点阅读