问答详情
源自:7-8 返回指定的字符串首次出现的位置

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

 var mystr="Hello World!"

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

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

  }


提问者:余空3286120 2016-12-04 14:03

个回答

  • 慕先生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);

      }

      }


  • 那谁很靠谱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));

    }