var?小心?=?新的?array();
var?cnAry?=?新的?array();
var?我,?idx,?ch,?continueCh?=?"",?繼續嗎?=?1;
var?馬克西?=?"",?maxCn?=?0;
為了什麽?(我?=?0;?我?& lt?s .長度;?i++)?{
ch?=?s.slice(我,我?+?1);
如果?(ch?!=?continueCh)?{?//?角色和之前的不壹樣。
如果?(continueCh?!=?"")?{?//?如果前壹個字符不是空字符串,更新重復數組的最大重復次數的值。
idx?=?GetIndex(chAry,continue ch);
如果?(idx?==?-1)?{
chary . push(continue ch);
cnary . push(continue cn);
}
不然呢?{
如果?(continueCn?& gt?cnAry[idx])?{//?如果新的連續重復次數大於原始次數,則進行更新
cnAry[idx]?=?continueCn
}
}
}
如果?(continueCn?& gt?maxCn)?{
maxCn?=?continueCn
馬克西?=?continueCh
}
繼續嗎?=?1;?//?重復次數是1。
continueCh?=?ch;//?重復的字符被設置為當前獲取的字符。
}
不然呢?{
continue cn++;
}
}
如果?(continueCh?!=?"")?{
idx?=?GetIndex(chAry,continue ch);
如果?(idx?==?-1)?{
chary . push(continue ch);
cnary . push(continue cn);
}
不然呢?{
如果?(continueCn?& gt?cnAry[idx])?{//?如果新的連續重復次數大於原始次數,則進行更新
cnAry[idx]?=?continueCn
}
}
如果?(continueCn?& gt?maxCn)?{
maxCn?=?continueCn
馬克西?=?continueCh
}
}
//?返回的數據chAry是壹個字符數組。CnAry是連續字符的最大數量。MaxCh是重復次數最多的字符。maxCn的最大重復次數
回歸?{?小心翼翼:?小心翼翼?cnAry:?cnAry?maxCh:?馬克西?maxCn:?maxCn?};
}
功能?GetIndex(ary,ch)?{//?獲取數組中元素的索引。
var?我;
為了什麽?(我?=?0;?我?& lt?ary.length?i++)?{
如果?(ary[i]?==?ch)?{
回歸?我;
}
}
回歸?-1;
}
var?數據?=?TestMaxCount(" 1212111212222121265438 ");
window.alert(data.maxCh?+?":?"?+?data . maxcn);當然,您應該能夠使用正則表達式來使代碼更加緊湊。