【算法题】统计一个字符串出现频率最高的字母

前端面试题/算法题

Posted by Jerry on February 2, 2019

统计一个字符串出现频率最高的字母

常见面试题之一!!!

主要思想:利用键值对存储,定义一个对象,在遍历数组的时候,将数组元素作为对象的键,将出现的次数作为值,最后对比值的大小吐出相应的健。

var str = 'dfsfadfdsfsdfdsdsbgfdgdbkjbdlmbdl';
function countStr(string) {
  let arr = [...string],
      obj = [],
      max = 0,
      maxValue = '';
  arr.forEach(value => {
      obj[value] = obj[value] == undefined ? 1 : obj[value]++;
      if(obj[value]>max){
          max = obj[value];
          maxValue = value;
      }
  })
  return maxValue;
}
console.log(countStr(str)); //d