统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
1. 不限制 key 的顺序
2. 输入的字符串参数不会为空
3. 忽略空白字符
统一思想,将字符串进行遍历,初始化一个object对象,当对象中存在key时key++,不存在key=1;
利用for循环方法
function count(str){ var str = 'Hello World'; var obj = {}; for (var i = 0; i<=i.length; i++) { if (str[i] !== '') { var key = str[i]; if (obj[key] !== undefined) { obj[key]++; } else { obj[key] = 1; } } return obj; } }
利用reduce方法
function count(str) { str = 'Hello World'; str.split('').reduce(function (prev, item) { if (item !== '') { prev[item]? prev[item]++ : prev[item] = 1; } return prev; }, {}) }
利用正则表达式
function count(str) { str = 'Hello World'; var obj = {}; str.replace(/\S/g,function(s){ !obj[s]?obj[s]=1:obj[s]++; console.dir(str); }); return obj; }