美文网首页
找出字符串中出现最多的字符和它的个数

找出字符串中出现最多的字符和它的个数

作者: haha2333 | 来源:发表于2019-07-28 18:09 被阅读0次

    例子:'abcaakjbb' => {'a':2,'b':2},'abbkejsbccccwqaa' => {'c':4}
    思路:遍历字符串,记录每一个字符以及它的出现次数保存在obj里,定义对象res,初始值为obj的第一个属性,第一个属性值。遍历obj对象,大于该属性值则清空res,等于该值则添加res属性,小于不处理
    代码:

    function findstr(str) {
        let obj = {}
        return function () {
            for (let i = 0; i < str.length; i++) {
                let a = str.charAt(i)
                if (obj.hasOwnProperty(a)) {
                    obj[a]++
                }
                else {
                    obj[a] = 1
                }
            }
            let tt = str.charAt(0)
            let res = {}
            res[tt] = obj[tt]
            for (let key in obj) {
                if (obj[key] > res[tt]) {
                    for (att in res) {
                        delete res[att]
                    }
                    res[key] = obj[key]
                }
                if (obj[key] === res[tt])  res[key] = obj[key]
            }
            console.log(res)
        }
    }
    findstr(str)()
    

    以上解法不是来求连续字符串的
    涉及知识点:
    字符串方法:
    对象属性的表示方法
    判断对象属性是否存在
    遍历对象属性
    删除对象属性(并且删掉键值)

    相关文章

      网友评论

          本文标题:找出字符串中出现最多的字符和它的个数

          本文链接:https://www.haomeiwen.com/subject/ikyjrctx.html