JavaScript统计字符串中每个字符出现次数的完整实例

作者:代码拾荒时间:2026-10-29 21:03:06浏览:533

本文提供JavaScript统计字符串中各字符出现次数的完整代码示例。通过split、sort及对象计数等步骤,展示如何高效处理字符频率统计任务,适用于面试场景及日常开发中的数据处理需求。

JavaScript统计字符串字符频率算法详解

本文分享一个使用JavaScript统计字符串中每个字符出现频次的完整代码示例,供读者参考学习。

该题目常见于技术面试,要求针对任意给定的字符串,计算并输出其中每个字符出现的次数。

首先展示该算法的运行效果截图,以便直观了解输出结果。

JavaScript统计字符串字符频率算法详解

以下是具体的实现代码。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>求字符串中每个字符出现的次数 </title>
  <script type="text/javascript">
    var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;";
    var array = str.split("");
    array.sort();
    var countArray = [];
    var CountObj = function(character){
      this.count = 1
      this.character = character;
      return this;
    }
    var arrayObj = null,
      countArrayObj = null,
      arrayLength = 0;
    for (var i = 0, length = array.length; i < length; i++) {
      arrayObj = array[i];
      arrayLength = countArray.length;
      if (arrayLength > 0) {
        countArrayObj = countArray[arrayLength - 1];
        if (countArrayObj.character == arrayObj) {
          countArrayObj.count = countArrayObj.count + 1;
        } else {
          countArray.push(new CountObj(arrayObj));
        }
      } else {
        countArray.push(new CountObj(arrayObj));
      }
    }
    /**
     * 输出每个字母和其对应出现的统计数据
     */
    for(var i=0,length=countArray.length; i<length; i++) {
      countArrayObj = countArray[i];
      console.log(countArrayObj.character + ":" + countArrayObj.count);
    }
  </script>
</head>
<body>
</body>
</html>

如需了解更多JavaScript算法知识,建议查阅本站《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》以及《JavaScript数据结构与算法技巧总结》等相关专题文章。

希望上述内容能协助读者更好地掌握JavaScript程序设计技巧。

作者最新文章