統(tǒng)計(jì)出現(xiàn)最多的字符次數(shù)的js代碼
更新時(shí)間:2010年12月03日 20:58:58 作者:
一小段代碼,經(jīng)常出現(xiàn)在面試筆試題中的:統(tǒng)計(jì)一個(gè)字符串中出現(xiàn)最多的字符的次數(shù),可以是英文或者數(shù)字。
應(yīng)用正則表達(dá)式的全局匹配,可以匹配出字符出現(xiàn)的次數(shù),比較這些次數(shù),將最大的保存并返回。代碼如下:
var countMost = function(str){
if(!str) return;
var _count = 0, _temp = 0, _reg, _char;
for(var i=0; i<str.length; i++){
_reg = new RegExp(str.charAt(i), 'g');
_temp = str.match(_reg).length;
if(_temp > _count){
_count = _temp;
_char = str.charAt(i);
}
}
return _count;
//return {count:_count, char:_char};
};
注釋掉的代碼可以一并返回出現(xiàn)最多次數(shù)的字符。
復(fù)制代碼 代碼如下:
var countMost = function(str){
if(!str) return;
var _count = 0, _temp = 0, _reg, _char;
for(var i=0; i<str.length; i++){
_reg = new RegExp(str.charAt(i), 'g');
_temp = str.match(_reg).length;
if(_temp > _count){
_count = _temp;
_char = str.charAt(i);
}
}
return _count;
//return {count:_count, char:_char};
};
注釋掉的代碼可以一并返回出現(xiàn)最多次數(shù)的字符。
相關(guān)文章
關(guān)于動(dòng)態(tài)執(zhí)行代碼(js的Eval)實(shí)例詳解
下面小編就為大家?guī)?lái)一篇關(guān)于動(dòng)態(tài)執(zhí)行代碼(js的Eval)實(shí)例詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08JavaScript Array Flatten 與遞歸使用介紹
用 JavaScript 將 [1,2,3,[4,5, [6,7]], [[[8]]]] 這樣一個(gè) Array 變成 [1,2,3,4,5, 6,7,8] 呢?傳說(shuō)中的 Array Flatten2011-10-10網(wǎng)頁(yè)禁用右鍵菜單和鼠標(biāo)拖動(dòng)選擇方法小結(jié)
本文主要給大家總結(jié)了一下在網(wǎng)頁(yè)中禁用鼠標(biāo)右鍵和鼠標(biāo)拖動(dòng)選擇的幾種常用的方法,十分的實(shí)用,有需要的小伙伴參考下。2015-02-02AJAX使用了UpdatePanel后無(wú)法使用alert彈出腳本
今天在做項(xiàng)目的時(shí)候發(fā)現(xiàn)個(gè)問(wèn)題。。使用UpdatePanel后alert腳本就要報(bào)錯(cuò)了。2010-04-04