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

从第一个O位置过后,随便设置一个检索开始位置来检索第二个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!"

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

</script>

</head>

<body>

</body>

</html>


正在回答

4 回答

你那样写显得太人工了一点吧,第一个位置居然是查出来的,个人认为,第一个位置应该也是代码获得的比较合理,如下

var index = mystr.indexOf('o')

  document.write(index);

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

先获得第一个o的位置index,再拿index+1作为第二次查找的起始位置,懂了麻烦采纳,回答问题需要动力?

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

qq_自娛自樂_0

你这个结果不对,下标多了1,应该输出 document.write(mystr.indexOf("o",index + 1)-1);
2021-01-19 回复 有任何疑惑可以回复我~
#2

慕圣1165166 回复 qq_自娛自樂_0

你这才是错的吧,-1结果变成6
2023-07-06 回复 有任何疑惑可以回复我~

//可以封装方法来做

/*

str: 传入的字符串

ch: 查找的字符

th: 要查找的字符的位次 第几个匹配的

start: 开始查找的下标注意字符串是从0开始的

*/

function charIndexOfStr(str,ch,th,start){

    th = argChecking(th);

    start = argChecking(start);


    if(th==1||th==0){

        return str.indexOf(ch,start);

    }

    start = str.indexOf(ch,start)+1;

    return charIndexOfStr(str,ch,th-1,start);

}

//参数检查

function argChecking(arg){

    if (arg===""||arg===null||arg===undefined){

        arg=1;

    }

    return arg;

}

下载视频          
0 回复 有任何疑惑可以回复我~

可以的,只要不超过第二个字符的位置!

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

举报

0/150
提交
取消

从第一个O位置过后,随便设置一个检索开始位置来检索第二个O的位置,这样可不可以。

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