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