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

相同的数怎么取一个

<!DOCTYPE html>

<html>

<head>

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

<title>string对象 </title>

<script type="text/javascript">

function demo(){

 var mystr="Hello World!"

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

  var myposition=mystr.indexOf("o",i)

  if(myposition==-1){

      break;

  }

  else{

      document.write(myposition+"<br>")}

  }

}

  demo();

</script>

</head>

<body>

</body>

</html>

这段代码怎么改能让结果只出现一次4和7?

正在回答

3 回答

主要就是for代码那几句


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

老师,可不可以给下面的代码加上注释呀?新手表示不太理解,谢谢!

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

<!DOCTYPE html>

<html>

<head>

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

<title>string对象 </title>

<script type="text/javascript">

function demo(){

 var mystr="Hello World!"

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

  var myposition=mystr.indexOf("o",i)

  var only=mystr.indexOf("o",(i+1))

  if(myposition==-1){

      continue;

  }

  else if(myposition==only){

  continue;

  }

  else{

      document.write(myposition+"<br>")}

  }

}

  demo();

</script>

</head>

<body>

</body>

</html>

不应该用break跳出  应该用continue跳过

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

qq_唯爱YOU_0

为什么用myposition==only?不理解这是什么意思啊?求赐教
2017-05-19 回复 有任何疑惑可以回复我~
#2

清风流光 提问者 回复 qq_唯爱YOU_0

每次循环都和后面比较 有没有相同的‘o’,有就跳过,继续循环。 等你学到 后面 直接转成数组 进行过滤比较 就简单了 var a='hello world'; var b=a.split(''); b.filter(function(x,y){ if(x=='o'){ document.write(y+'<br />') } })
2017-05-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

相同的数怎么取一个

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