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