JS中判断字符串中出现次数最多的字符及出现的次数的简单实例

来源:互联网 发布:音频矩阵 线序 编辑:程序博客网 时间:2024/05/19 19:56

在这个问题之前先看看一个方法
charAt()方法可返回指定位置的字符。

<script type="text/javascript">    //charAt()可返回指定的字符串    var str = "hello world!";    document.write(str.charAt(1)); //e</script>

然后看看标题上的这个问题该如何实现?
思路如下:

  • 创建一个空对象obj,遍历字符串每一项,然后判断对象中是否当前str的值。
  • 如果对象中有这个值的话,给这个字符加1
  • 如果对象中没有这个值的话,让当前str的值加入到obj对象中。
  • 然后遍历对象
var str = "abcaaaaacdef";//console.log(str.length);var obj = {};for(var i = 0; i < str.length; i++){    if( !obj[str.charAt(i)]){        obj[str.charAt(i)] = 1;    }else{        obj[str.charAt(i)]++;    }}//存出现次数最多的值和次数var number = '';var num = 0;console.log("obj为:",obj); //Object {a: 6, b: 1, c: 2, d: 1, e: 1…}//i代表每一项for(var i in obj){    //console.log("i为:",i);    //obj[i] 为每一项的值    console.log("obj",obj[i]);    if(obj[i]>num){        num = obj[i];        number = i;    }}console.log("最终出现最多的字母是:"+ number + ",次数为:"+ num);//最终出现最多的字母是:a,次数为:6

参考网址1
参考网址2

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