js 求字符串某个字母出现的最大次数

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">

<title>Max_val</title>

</head>
<body>
    <div class="">
    
</div>

</body>
<script type="text/javascript" charset="utf-8">
//将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数
var str = "abcdefgadddaaaaaaaaab";
var obj = {};
for (var i = 0, l = str.length; i < l; i++)
 {
  var key = str[i];
  if (!obj[key])
   {
    obj[key] = 1;
  }
    else
    {
    obj[key]++;
  }
}
/*遍历这个hash table,获取value最大的key和value*/
var max = 0;
var max_key = "";

for (index in obj)
  {
    if (max < obj[index])
      {
        max = obj[index];
        max_key = index;
    }
  }

alert("max_count:"+max+" max_key:"+max_key);

</script>

</html>

时间: 2024-10-24 23:56:19

js 求字符串某个字母出现的最大次数的相关文章

js - 获取字符串出现最多的字符和次数

方法一: /** * @param {String}str 只接受字符串类型 * @return{JSON} key:出现最多字符, value:出现次数; 数组类型不是String类型,则返回空对象 **/ function getMax(str){ let hash = {}; let num = 0; let json = {}; //返回的对象 //判断是否是字符串 if(Object.prototype.toString.call(str) != "[object String]&qu

JS replace()方法-字符串首字母大写

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换所有匹配的字符串,否则是只替换第一个匹配串.第二个参数可以是字符串,也可以是函数.$1.$2...表示与正则表达式匹配的文本. There are many ways we can make a difference. Global change starts with you. Sign up f

用js识别字符串中的英文字母字符和非字符(汉字)

前不久去阿里的在线笔试,最后一道题可算是难倒了我,题目大概是这样的:用原生的js实现字符串中的英文字母字符和汉字的识别,汉字按照两个单位计算,英文和字符按照一个单位计算,乍一想真不知道有什么好办法,以前写c代码太多,就用c代码对ascii的办法来,笔试结束字符才知道,js是很高大上的玩意儿,这招行不通.在这里我介绍一种很简单很靠谱的方法,用unicode字符集的办法来解决. 首先脑补一下小知识:unicode字符集数字0 - 128是英文字母字符(半角)的范畴,在这以外是其他字符(全角),用js

小程序操作DOM以及JS求取字符串算法(前端网备份)

//js获取字符串的字节长度 //这套算法一个汉字2字节,字母符号1字节,按一行40个字节算4行 getLength:function(val){ var str = new String(val); var bytesCount = 0; for (var i = 0, n = str.length; i < n; i++) { var c = str.charCodeAt(i); if ((c >= 0x0001 && c <= 0x007e) || (0xff60

如果用JS得到字符串中出现次数最多的字母

一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次数. 经典的解答思路为:取出字符串的第一个字符(首字母),利用的字符串的 replace 方法将符合正则表达式(第一个字符)替代为空,此字母出现的次数为原始的字符串长度减去替代后的字符串长度.循环迭代找出长度最长的字母. 源码: <script type="text/javascript">   var str ="adadfdfseffserf

HDU 3518 Boring counting(后缀数组啊 求字符串中不重叠的重复出现至少两次的子串的个数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3518 Problem Description 035 now faced a tough problem,his english teacher gives him a string,which consists with n lower case letter,he must figure out how many substrings appear at least twice,moreover

JS中字符串的相关操作

(转自:http://www.cnblogs.com/zhaoxinxin/articles/1402733.html) 一.字符串的创建 创建一个字符串有几种方法. 最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双引号或单引号将字符串包含,但要注意,作为界定字符串的一对引号必须是相同的,不能混用. 像var myString = "Fluffy is a pretty cat.'; 这样

求字符串中最大的递增子序列

数据库环境:SQL SERVER 2005 如题,求字符串“abcbklmnodfghijkmer”中最大的递增子序列.这个字符串有点特别, 只由26个小写字母a-z组成. 大概思路如下: 1.将字符串转到一列存储,并生成行号 2.设置一个递增计数器列,默认为1,比较上下行的字符,如果在字典中的顺序是递增, 则计数器加1,否则,计数器置1 3.找出计数器最大的数及对应的行号,根据这2个数截取字符串 思路有了,下面直接贴代码 DECLARE @vtext VARCHAR(255) SET @vte

js获取字符串字节数方法小结

js获取字符串字节数的方法.分享给大家供大家参考.具体如下: 大家都知道,获取字符串的长度可用length来获取,那么获取这段字符串的字节数呢? 英文字母肯定lenght和字节数都一样:都是1而中文lenght=1,字节数=2因此,需要作的就是把中文字符的字节数计算出来. 方法一: alert('a'.replace(/[^\u0000-\u00ff]/g,"aaa").length); //原理:把中文字符替换成2个英文字母,那么字节数就是2, //示例中改成替换成3个英文字母了.