JavaScript 计算一个字符串中出现次数最多的字符

来源:互联网 发布:linux hexdump命令 编辑:程序博客网 时间:2024/05/15 00:03
<script>// 方法一var str = 'dabaojian',obj=[]; for(var i = 0; i< str.length; i++){ var key = str[i]; if(!obj[key]){ obj[key] = 1; }else{ obj[key] ++; }} var max = -1; var max_key = ''; var key; for(key in obj){ if(max<obj[key]){ max=obj[key]; max_key = key; } }alert(max_key+"为最多出现字符,出现的次数为"+max);// 方法二var arr = str.split(""); var obj = {}; var objArr = []; for(var i=0,j; j=arr[i]; i++){ if(!obj[j])obj[j]=0; objArr[++obj[j]]=j; } alert( objArr[objArr.length-1]+"为最多出现字符,出现的次数为"+(objArr.length-1));// 方法三var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0 var result = ''; //命名一个变量放置结果输入 while( str != '' ){ //循环迭代开始,并判断字符串是否为空 oldStr = str; //将原始的字符串变量赋值给新变量 getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母) eval("str = str.replace(/"+getStr+"/g,'')"); //详细如补充,也可以写成 str = str.replace(new RegExp(getStr,'g'),""); if( oldStr.length-str.length > maxLength ) { //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度 maxLength = oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度 result = getStr +"为最多出现字符,出现的次数为"+ maxLength //返回最大的字符串结果(字母、出现次数) }}alert(result) </script>

阅读全文
1 0
原创粉丝点击