题目描述
编写一个js函数,传入一个非空字符串,计算出现次数最多的字符,返回该字符及 出现次数,结果可能包含多个字符。如传入“xyzzyxyz”,则返回:{y:3, z:3}
我的答案
var str = "xyzzyxyz";
var charArray = str.split("");
var obj = {};//用来存下所有的键和值
var max = 0;//用来记录下出现最多的次数是多少。
var result = {};
while(charArray.length!=0)
{
var c = charArray.shift();
var count = 1;
if(!obj.hasOwnProperty([c]))
{
for(var i = 0; i<charArray.length; i++)
{
if(charArray[i]==c)
{
count++;
}
}
obj[c]=count;
if(count > max)
{
max = count;
}
}
}
for(var key in obj)
{
if(obj[key]===max)
{
result[key]=max;
}
}
console.log(result);