博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小练习6:统计出现最多的字母和次数
阅读量:6844 次
发布时间:2019-06-26

本文共 1265 字,大约阅读时间需要 4 分钟。

  • 本次练习写一个统计字符串中出现最多的字母以及出现的次数,主要通过两个方法来实现(正则和普通方法)
  • 普通方法如下:
    • 利用对象不重名的特征,把每个字母存入对象中,属性名是字母,属性值是字母出现的次数,在利用假设法求出字母和次数
var str1 = "asffsadgasgerhrthwh";    var obj1 = {};    for(var i = 0; i < str1.length; i++){//将字母存入对象中        var cur = str1[i];        if(obj1[cur]){            obj1[cur]++;        }else {            obj1[cur] = 1;        }    }    //利用假设法求出出现最多的字母及次数    var max1 = 1; //假设出现最多的次数    var maxStr1 = null;//假设出现最多次数的字母    for(var key in obj1){        if(obj1[key] > max1){            max1 = obj1[key];            maxStr1 = key;        }else if(obj1[key] == max1){            maxStr1 += ','+key;        }    }    console.log(max1, maxStr1);复制代码
  • 正则匹配方法如下:
var str2 = "asasdgargwehhwhhw";    var ary2 = str2.split('');    var ary2 = [].slice.call(str2); //转换数组    ary2.sort(function (a,b) { //转换数组方法2        return a.localeCompare(b);    });    str2 = ary2.join('');    //匹配字符串中连续出现的相同字母    var reg2 = /(\w)\1*/g;    //利用假设法    var maxstr2 = null;    var max2 = 1;    str2.replace(reg2,function ($0,$1) {        if($0.length > max2){            max2 = $0.length;            maxstr2 = $1;        }else if($0.length === max2){            maxstr2 += ','+$1;        }    });    console.log(max2, maxstr2);复制代码

转载于:https://juejin.im/post/5ba4c7c46fb9a05d035bd89a

你可能感兴趣的文章
C# asp.net常见编译|运行错误
查看>>
Ajax登录页面
查看>>
Linux查看系统block size的多种方法
查看>>
用SNMP实现对大型网络的轻松管理!
查看>>
Docker 组件如何协作?- 每天5分钟玩转容器技术(8)
查看>>
员工的不幸?还是公司的悲哀?
查看>>
python 常用的模块 optparse与ConfigParser
查看>>
C++ 对象的内存布局(下)
查看>>
P2P系统仿真: oversim+INET+omnetPP
查看>>
[Unity3d]小地图的制作
查看>>
频繁变化的表无效索引造成的热点块争用
查看>>
Exchange2003 反垃圾邮件之一
查看>>
The page cannot be displayed
查看>>
三层交换VLAN配置
查看>>
监控运维系统实施方案--监控对象信息收集阶段
查看>>
WINDOWS和LINUX下带时间的PING包监控脚本
查看>>
RHEL6入门系列之九,常用命令2
查看>>
Exchange数据保护最佳实践
查看>>
突破360防黑加固添加用户
查看>>
数据仓库建模方法初步
查看>>