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

相比这类的方法已经有很多了,我是因为有次招聘面试的笔试题就是这个,然后回来之后做了下;

现在拿出来跟大家分享下,我只是用了一种办法 牛人们可以就代码优化和实现方法上多做文章;我就不深究下去了!

我写的函数为

//使用方法只要把要处理的字符串传入函数中就行了
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~~!!!;

可能还有别的考法,还有可能考对数组的考法,等我做了例子再分享出来;

附上demo:

https://files.cnblogs.com/wyflogo/%E8%AE%A1%E7%AE%97%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E6%AF%8F%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%87%BA%E7%8E%B0%E6%AC%A1%E6%95%B0.zip



posted @ 2012-02-26 12:23  Jmarry  阅读(2579)  评论(2编辑  收藏  举报