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

如果要找第三或者第八个O,那么该怎么办呢?

虽说可以使用

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

来找到第二个出现o的位置,

可是如果要让你找第三第四甚至还要往后的o出现的位置,那该怎么办呢?

总不能无线嵌套下去吧!

求大神支支招~


出个题,请找出mystr中每个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="Hello World! World! World! World! World!"
  document.write(mystr.indexOf("o",mystr.indexOf("o")+1));
</script>
</head>
<body>
</body>
</html>

正在回答

6 回答

把字符串转换成数组  然后遍历数组  数组的下标就是元素出现的位置~~

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

使用lastIndexOf()就可以解决这个问题了,用不着老嵌套

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

流云行者

例如:var str ="hello world"; for(i=0;i<str.length;i++) { if(str.lastIndexOf('o',i) == i) document.write(str.lastIndexOf('o',i)); }
2015-03-28 回复 有任何疑惑可以回复我~
<!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 World! World! World! World! World!";
  var mychar=new Array(0);
  document.write("<div style='border:1px solid #000;width:160px;padding-left:11px;margin-left:4px;position:relative'>序号 | char | 位置</div>");
  for (var i = 1; i < mystr.length; i++) {
  	mychar[i]=mystr.indexOf("o",mychar[i-1]+1);
  	if (mychar[i]<0) {
  		break;
  	}
  	document.write(" | &nbsp"+i+" &nbsp | "+mychar[i]+"<span style='left:12px;padding-left:108px;position:absolute;border-bottom:1px solid #000;border-right:1px solid #000;width:64px;'>|</span>"+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+(mychar[i]+1)+"<br />");
  };
</script>
</head>
<body>
</body>
</html>


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

对奥!怎么没想到,谢谢了!split("");

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

这个方案我能看懂,机器看不懂···哪里不对啊!


<!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 World! World! World! World!";

  //让普通人更好理解字母位置所在
  var num = mystr.indexOf("o")+1;

  //先输出一次字母所在的位置
  document.write("字母o的位置是:" + num);
 

 //开始输出第二个字母O所出现的位置,依次循环···
  for(num;num<mystr.length;num++){
    if(num > 0){
    num = mystr.indexOf("o",num);
    document.write("字母o的位置是:" + num);
   }else{
    document.write("没有找到字母o的位置!");
   }
  }
</script>
</head>
<body>
</body>
</html>


哪里不对,为什么一输上去就崩溃···

求解答!

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

突然间想到了解决问题的方法,使用for循环···不知道可不可以···

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

举报

0/150
提交
取消

如果要找第三或者第八个O,那么该怎么办呢?

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