计算字符串中每个字符出现的次数
相比这类的方法已经有很多了,我是因为有次招聘面试的笔试题就是这个,然后回来之后做了下;
现在拿出来跟大家分享下,我只是用了一种办法 牛人们可以就代码优化和实现方法上多做文章;我就不深究下去了!
我写的函数为
//使用方法只要把要处理的字符串传入函数中就行了
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:
任何时候对自己认定的作品要精益求精;你不是程序员也不是设计师,你所做的事情是让浏览器成为你的舞台,让网页成为你道具,打开你的网页就是你的观众,这场戏刚刚上演!