字符串字符统计
题目描述
统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
1. 不限制 key 的顺序
2. 输入的字符串参数不会为空
3. 忽略空白字符
1. 不限制 key 的顺序
2. 输入的字符串参数不会为空
3. 忽略空白字符
输入例子:
count('hello world')
输出例子:
{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}
题目解析
1.遍历输入字符串的每一个非空字符,每一个非空字符即为返回的Object对象的属性key
2.如果该对象第一次遍历该非空字符,就添加该字符为属性值
3.如果再次遍历到相同的非空字符,说明该字符属性存在,属性值value加1
示例程序1
1 function count(str){ 2 var obj = {}; 3 str=str.replace(/\s/g, ''); 4 for(var i=0,len=str.length; i<len; i++){ 5 var key = str[i]; 6 if(obj[key] != null){ 7 obj[key]++; 8 }else{ 9 obj[key]=1; 10 } 11 } 12 return obj; 13 } 14 //console.log(count('hello world'));
示例程序2
1 function count(str){ 2 var obj = {}; 3 //匹配非空字符 4 str.replace(/\S/g, function(key){ 5 if(key in obj) 6 obj[key]++; 7 else 8 obj[key]=1; 9 }) 10 return obj; 11 } 12 //console.log(count('hello world'));
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
参考地址
链接:https://www.nowcoder.com/questionTerminal/777d0cd160de485cae0b1fd1dd973b44
来源:牛客网