加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

JS找出一串字符中呈现最多的字符

发布时间:2018-08-16 13:13:35 所属栏目:创业 来源:站长网
导读:早年看到过这样的笔试题,用传统要领解出来过.闲来无事又想了一想,溘然有了灵感.思绪如下 1.用数组的sort要领对字符串举办排序,让沟通字母都到一路去 2.用正则表达式来匹配两个相邻的差异字符,中间加上逗号 3.以逗号为界把第二步获得的字符串打散成数组 4.

早年看到过这样的笔试题,用传统要领解出来过.闲来无事又想了一想,溘然有了灵感.思绪如下

1.用数组的sort要领对字符串举办排序,让沟通字母都到一路去

2.用正则表达式来匹配两个相邻的差异字符,中间加上逗号

3.以逗号为界把第二步获得的字符串打散成数组

4.按字符串长度排序该数组,获得的第一个元素就是要的谜底

代码如下(很是感激boozhidao的提示,已经批改正则表达式)

String.Count=function(str){ var ret=str.split("") .sort() .join("") .replace(/((.)2*)/g,"$1,") .split(",") .sort(function(a,b){return b.length-a.length}); return [ret[0][0],ret[0].length];}var s="&(&$#(JFLSDJFOIWEfdjsklfewosd2378907345asdsdwsdqs";alert(String.Count(s));

返回值是['s',6].

有个题目就是,谁人正则表达式写得不足完美,在字符串的最后还加上了逗号,到时ret数组的最后一个元素是空字符串.各人假若有好的办理步伐,接待交换.

转自:http://www.cnblogs.com/kenandalda/

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读