写在前面
本题目来自牛客网,已经成功通过测试。笔者刚刚开始学习前端,准备在掘金记录下自己的学习过程,欢迎和我一样准备入门前端的小伙伴们一起交流学习,也欢迎各位大佬批评指正~~~
题目描述
统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
- 不限制 key 的顺序
- 输入的字符串参数不会为空
- 忽略空白字符
示例
输入
'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
}