JS输出字符串中出现最多次数的字符

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
}

哭了,这道题。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值