计算字符串中每个字符出现的次数

来源:岁月联盟 编辑:exp 时间:2012-02-27

相比这类的方法已经有很多了,我是因为有次招聘面试的笔试题就是这个,然后回来之后做了下;
现在拿出来跟大家分享下,我只是用了一种办法 牛人们可以就代码优化和实现方法上多做文章;我就不深究下去了!
我写的函数为
//使用方法只要把要处理的字符串传入函数中就行了
        function numInstring(str)
        {
            var text="";
            //循环的套出每个字符出现的次数 str会慢慢的变短直到为空
            while(str!="")
            {
                //先将字符打散
                var newstr=str.split("");
                var count=0;
                //求得第一个字符出现的次数
                for(var i=0;i < newstr.length;i++)
                {
                    if(newstr[0]==newstr[i])
                    {
                        count++;
                    }
                }
                //在字符串中删掉跟第一个字符一样的所有字符
                var re=new RegExp(newstr[0],"g");
                str=str.replace(re,"");
                text+=newstr[0]+":"+count+"次;";
            }
            return text;//我这里返回的是一段文本 可以自己改写成自己想要的形式
        }

主要考的是对字符串的处理,这里用到了split和replace结合然后再使用正则,有什么建议或者改进的地方都可以给我留言,相互进步O(∩_∩)O~~!!!;
可能还有别的考法,还有可能考对数组的考法,等我做了例子再分享出来;
附上dome:http://www.2cto.com/uploadfile/2012/0227/20120227093126457.zip
 

任何时候对自己认定的作品要精益求精;你不是程序员也不是设计师,你所做的事情是让浏览器成为你的舞台,让网页成为你道具,打开你的网页就是你的观众,这场戏刚刚上演!

 摘自 Jmarry