Front-end 2020 interview questions-how to determine the most frequent occurrences in a string

Front-end 2020 interview questions-how to determine the most frequent occurrences in a string

var str = "11112566994898746150098704";

function getMaxStr(str) {
    
    
  var obj = {
    
    };
  // 1. 获取每个字符出现的次数
  for (let i = 0; i < str.length; i++) {
    
    
    // 获取字符串中的每个字符
    let key = str[i];
    // 判断key值是否存在
    if (obj[key]) {
    
    
      // 存在,则累加出现的次数
      obj[key]++;
    } else {
    
    
      // 字符出现次数默认为1
      obj[key] = 1;
    }
  }
  // 2. 比较数字的大小,得出出现最多的字符
  // 假设是出现次数最多的次数
  var maxCount = 0;
  // 假设这个字符串是次数出现最多的字符串
  var maxString = "";
  // 遍历比较
  for (var key in obj) {
    
    
    if (maxCount < obj[key]) {
    
    
      // 保存最大的次数
      maxCount = obj[key];
      // 保存当前数对应的字符
      maxString = key;
    }
  }

  return "出现次数最多的字符:" + maxString + ";\n共出现:" + maxCount + "次";
}

console.log(getMaxStr(str));
// 出现次数最多的字符:1;
// 共出现:5次

Come on

Guess you like

Origin blog.csdn.net/m0_46442996/article/details/108962711