計算字符串中每個字符出現的次數

相比這類的方法已經有很多瞭,我是因為有次招聘面試的筆試題就是這個,然後回來之後做瞭下;
現在拿出來跟大傢分享下,我隻是用瞭一種辦法 牛人們可以就代碼優化和實現方法上多做文章;我就不深究下去瞭!
我寫的函數為
//使用方法隻要把要處理的字符串傳入函數中就行瞭
        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://up.aiwalls.com/2012/0227/20120227093126457.zip
 

任何時候對自己認定的作品要精益求精;你不是程序員也不是設計師,你所做的事情是讓瀏覽器成為你的舞臺,讓網頁成為你道具,打開你的網頁就是你的觀眾,這場戲剛剛上演!

 摘自 Jmarry

發佈留言