想用FOR语句依次找出O的位置,为什么不行啊

来源:7-8 返回指定的字符串首次出现的位置

余空3286120

2016-12-04 14:03

 var mystr="Hello World!"

  for(i=0;i<mystr.length;i++){

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

  }


写回答 关注

3回答

  • 慕先生7899162
    2016-12-04 14:55:54
    已采纳

    你虽然设置了循环,但循环完全没有起到改变indexOf检索的起始位置的作用啊,你每次循环都是再次从第一个位置开始检索

     var mystr="Hello World!"

     var num1=0;

      for(i=0;i<mystr.length;i++){

    if(( num1=mystr.indexOf("o",num1+1))<0)

    {break;}

    else{

     document.write(num1);

      }

      }


    余空3286...

    大神谢了

    2016-12-04 15:02:14

    共 1 条回复 >

  • 那谁很靠谱3587144
    2017-01-05 09:57:31

    依次找出某个字符的位置,为什么不用这个?我怎么看上面的答案都写的那么乱啊。。。可能因为我是新手。。。

    var m="ssdfjkhalhasfiossdowies";
    var k;
    for(k=0;k<m.length;k++)
    {
        if(m.charAt(k)=="s")
        document.write(k+"&nbsp");
    }


  • robot007
    2016-12-04 14:56:44

    逻辑混乱,

    for (i = 0; i < mystr.length; i++) {

        document.write(mystr.indexOf("o", i));

    }

    robot0...

    中间还得判断,懒得加了。。

    2016-12-04 14:58:34

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题