前端学习之编程题系列:(三)字符串字符统计

204 阅读1分钟

写在前面

本题目来自牛客网,已经成功通过测试。笔者刚刚开始学习前端,准备在掘金记录下自己的学习过程,欢迎和我一样准备入门前端的小伙伴们一起交流学习,也欢迎各位大佬批评指正~~~

题目描述

统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率

  1. 不限制 key 的顺序
  2. 输入的字符串参数不会为空
  3. 忽略空白字符

示例

输入

'hello world'

输出

{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

题解

function count(str) {
    // 将字符串转为数组
    let arr = Array.from(str)
    let obj = {}
    arr.forEach(item => {
        //忽略空字符串
        if(item !== " "){
            // 首次出现的字符,创建key,value置为1
            if(!obj.hasOwnProperty(item)){
                obj[item] = 1
            }else{
                // 非首次出现的字符,value加1
                obj[item] += 1
            }
        }
    })
    return obj
}