找出最大的那个字符或项!

一个字符串或数组,如何找到出现次数最多的字符或者项?

先构造个biggest函数

function biggest(str)
{
document.write(str+'中');
var obj={};
for(var i=0;i<str.length;i++)
{
    var key=str[i];
    if(!obj[key])
    {
        obj[key]=1;
    }
    else
    {
        obj[key]++;
    }
}
var maxnum=-1;
var maxkey="";
var key;
for(key in obj)
{

    if(maxnum<=obj[key])
    {
        if(obj[key]==maxnum)
        {
            maxkey+=","+key;    
        }
        else
        {
            maxkey=key;
            
        }
        maxnum=obj[key];
    
    }
    
}
document.write("出现最多的是"+maxkey+"一共出现"+maxnum+"次<br>");
}

 

其中也要考虑到有可能两个字符出现的次数相通,所以要进行下判断,相同的话就要将maxkey补上它。

调用biggest()方法

var str1 = "WeAreNeverEverGettingBackTogether";
var str2 = "AABBCCDD";
var str3 = ['张三','张三','张三','李四','王五','王五'];
biggest(str1);
biggest(str2);
biggest(str3);


输出的结果:

WeAreNeverEverGettingBackTogether中出现最多的是e一共出现8次
AABBCCDD中出现最多的是A,B,C,D一共出现2次
张三,张三,张三,李四,王五,王五中出现最多的是张三一共出现3次

 

posted @ 2014-02-28 16:45  PiLee  阅读(234)  评论(0编辑  收藏  举报