当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用JS得到字符串中出现次数最多的字母

Javascript
Javascript 篱式条件判断
FormValidate 表单验证功能代码更新并提供下载
IE php关于强制下载文件的代码
Javascript 注册事件浅析
js网页中随意拖动的小方块实现代码
javascript charAt() arr[i]数组实例代码
jquery HotKeys轻松搞定键盘事件代码
JQUERY复选框CHECKBOX全选,取消全选
jquery复选框CHECKBOX全选、反选
JQUERY CHECKBOX全选,取消全选,反选方法三
一个简单但常用的javascript表格样式_鼠标划过行变色 简洁实现
javascript用DIV模拟弹出窗口_窗体滚动跟随
Javascript多种浏览器兼容写法分析
JavaScript监测ActiveX控件是否已经安装过的代码
javascript结合Cookies实现浏览记录历史
javascript textarea字数限制
动态修改DOM 里面的 id 属性的弊端分析
js实现右下角窗口弹出窗口效果
javascript移动的盒子效果代码
js链接确认提醒功能

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 320 ::
收藏到网摘: n/a

一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次数。 经典的解答思路为:取出字符串的第一个字符(首字母),利用的字符串的 replace 方法将符合正则表达式(第一个字符)替代为空,此字母出现的次数为原始的字符串长度减去替代后的字符串长度。循环迭代找出长度最长的字母。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

补充:
复制代码 代码如下:

eval("str = str.replace(/"+getStr+"/g,'')");

可能很多人想这样写 str = str.replace(/getStr/g,”),可结果却是会出错的。为什么呢,在这句中正则表达式匹配的是 getStr 字符串,而不是 getStr 指向的首字母。通过 eval 方法可以避免(首先 getStr 得到指向的首字母,用字符串连接 “str = str.replace(/”+getStr+”/g,”)”,最后在 eval 中执行这段代码,即:先解释Javascript 代码,然后再执行它)。
由于 eval 性能不好,容易出错,而且可读性不好。建议将 eval(”str = str.replace(/”+getStr+”/g,”)”) 改为:
str = str.replace(new RegExp(getStr,"g"),"")