为了账号安全,请及时绑定邮箱和手机立即绑定

自己写的答案......感觉自己搞复杂了

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string对象 </title>
<script type="text/javascript">
var mystr="jkjasdjao jkjkjko jkdasjo kjaksjdjooo";
var count=0;
for (var i=0;i<mystr.length;i++){
if(mystr.indexOf("o",i)!=-1){
count++;
document.write("赋值前i的值为:"+i+"<br/>");
i=mystr.indexOf("o",i)+1;
document.write("赋值后i的值为:"+i+"<br/>");
if (count==2){
break;
}
}
}
document.write("字符串中的第"+count+"次字符o的位置是"+mystr.indexOf("o",i-1));
</script>
</head>
<body>
</body>
</html>

每次总是写一堆代码,一看别人几行就搞定了,感觉自己不是这块料。。。o(╯□╰)o

正在回答

7 回答

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>string对象 </title>

<script type="text/javascript">

  var mystr="Hello Worldooooooooooooooooooooooooooo!"//29个o,n改成30越界成-1

  document.write(mystr.indexOf("o",mystr.indexOf("o")+1));

  

  document.write("<br>");

  //查找第几个改变n

  var n = 12;

  var count = 1;

  var a = 0;

  while(count<=n)

  {

      a = parseInt(mystr.indexOf("o",a+1));

      count++;

  }

  document.write(a);

  

</script>

</head>

<body>

</body>

</html>



0 回复 有任何疑惑可以回复我~

var n = 12;

  var count = 1;

  var a = 0;

  while(count<=n)

  {

      a = parseInt(mystr.indexOf("o",a+1));

      count++;

  }

  document.write(a);


0 回复 有任何疑惑可以回复我~

count的值是错的吧,i的循环是基于str.length的,i++一次,count也会+一次

0 回复 有任何疑惑可以回复我~
for语句中的i++和执行语句中i=mystr.indexOf("o",i)+1;重复了,这会导致第count=4之后结果错误。<br />
你的代码我感觉还是挺有趣的,也思考了一下,就修改成了可以显示前n次出现指定字符串的位置了,欢迎指正~代码如下(ex:前5次出现o的位置):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string对象 </title>
<script type="text/javascript">
var mystr="jkjasdjao jkjkjko jkdasjo kjaksjdjooo";
var count=0;
for (var i=0;i<mystr.length;i++){
if(mystr.indexOf("o",i)!=-1){
count++;
document.write("字符串中的第"+count+"次字符o的位置是"+mystr.indexOf("o",i)+"<br />");
i=mystr.indexOf("o",i);
if (count>=5){
break;
}
}
}
</script>
</head>
<body>
</body>
</html>


1 回复 有任何疑惑可以回复我~

是不是可以不要for语句中的i++呢?

0 回复 有任何疑惑可以回复我~

你是高手,请多多指教!你这写法是对的,真心感觉你思考周密!

0 回复 有任何疑惑可以回复我~

能写出来就很不错了 慢慢来嘛!加油


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

自己写的答案......感觉自己搞复杂了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信