用js统计子串在母串中出现的次数,这段代码一运行起来就非常卡,为何?<script type="text/javascript">
var a="a";
var b="dsasdas";
var count=0;
var position=0;
while(b.indexOf(a,position)!=-1){
count++;
position=b.indexOf(a);
}
alert(count);
</script>
var a="a";
var b="dsasdas";
var count=0;
var position=0;
while(b.indexOf(a,position)!=-1){
count++;
position=b.indexOf(a);
}
alert(count);
</script>
count++;
position=b.indexOf(a); //这里每次的结果都是相同的
}
你这已经死循环了。结果也是错误的,只要有一处包含的位置,就无穷了。改成下面的:
while(b.indexOf(a,position)!=-1){
count++;
position=b.indexOf(a,position)+1;}
var a="a";
var b="dsasdas";
var count=0;
var position=0;
while(b.indexOf(a,position)!=-1){
count++;
position = b.indexOf(a,position)+1;
//alert(position)
}
alert(count);