一道js面试题,今天突然想起了,就写了下,练练手了,哈哈,欢迎评论、提建议;
String.prototype.uq=function(){
var obj={},arr=[],maxCount,seStr;
for(var i=0;i<this.length;i++){
if(!obj[this[i]]){
obj[this[i]]=1;
}
else{
obj[this[i]]+=1
}
}
for(var k in obj){
if(obj.hasOwnProperty(k)){
arr.push(obj[k]);
}
}
maxCount=Math.max.apply(null,arr);
for(var j in obj){
if(obj.hasOwnProperty(j)){
if(obj[j]==maxCount){
seStr=j;
}
}
}
this.maxCount=maxCount;
this.seStr=seStr;
return this;
}
var str="abcbbbbbeeeddddddddddddddd";
var rs=str.uq();
alert("最多字符:" + rs.seStr + "出现次数:" + rs.maxCount); // d 15次