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

某字母第几次出现位置

假如我们要找A第二次出现,那我们用笨的方式是先找到第一次出现的位置(先假设为5),然后随便选一个在之后的位置开始运用函数object.indexOf("A",6);或者就是用object.indexOf("A",object.indexOf("A")+1)。这两种方式都能实现。

但是假如不是第二次,是第n(比较大)次呢?有比较好一点的函数实现吗?

正在回答

3 回答

我们来打个比方:

var mystr="AqwAertAyuiAopaAsdfAghjAklAzxAcvAbnAmA"
document.write("第四个A出现的位置是:"+mystr.indexOf("A",(mystr.indexOf("i"))))
//思路是这样的,首先我们看第四个A前面的字母是什么,然后定位到从“i”开始检索A就行;当然,这个方法也不是绝对好用,比方,第四个A前面出现的字母都是有重复出现,那么就不太好用了


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

那就从第一位开始检索A,然后截取出来A的位置num,然后在从num+1的位置开始检索,然后就是一次一次的截取吧,呵呵,我觉得这样也可以,就是有点麻烦

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

object.indexOf("A",object.indexOf("A")+n-1)

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

0415 提问者

这个object.indexOf("A")+n-1是什么?我上面+1就是为了读到第一个,然后+1从后面一个开始查询,你这个+n-1没用的。我刚才试了一下,后面+n-1只是跳过这么多个字符而已。
2015-12-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

某字母第几次出现位置

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