前端面试题-计算出字符串中出现次数最多的字符是什么?出现了多少次?

// 给定的字符串
        const str = 'abcabc'
        // 统计字符串中出现次数最多的字符,出现多少次
        function statistics(str) {
    
    
            // 声明一个变量
            const obj = {
    
    }
            // 存放出现次数最多的字符
            let maxStr = ''
            // 存放出现的次数
            let max = 0
            // 遍历字符串,统计每个字符出现的次数
            for (const key of str) {
    
    
                // 判断对象中是否有这个属性
                if (obj.hasOwnProperty(key)) {
    
    
                    // 如果有这个属性
                    obj[key]++
                } else {
    
    
                    // 如果没有这个属性
                    obj[key] = 1
                }
            }
            // 遍历对象,找出出现最多的字符
            for (const key in obj) {
    
    
                // 如果当前属性的值大于 max ,则更新 max
                if (obj[key] > max) {
    
    
                    // 保存出现次数最多的字符
                    maxStr = key
                    // 保存出现次数
                    max = obj[key]
                }
            }
            // 返回出现次数最多的字符,还有次数
            return {
    
     maxStr, max }
        }

        const obj = statistics(str)

        console.log(`字符串中出现次数最多的字符是 ${
      
      obj.maxStr} ,出现了 ${
      
      obj.max} 次`)

猜你喜欢

转载自blog.csdn.net/weixin_46611729/article/details/115029921
今日推荐