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

关于某字符在字符串中出现的次数统计,网上看到一段代码其中有个地方看不懂什么意思

关于某字符在字符串中出现的次数统计,网上看到一段代码其中有个地方看不懂什么意思

炎炎设计 2018-11-30 23:19:37
今天自己用 split()方法实现了统计某字符在字符串中出现的次数,顺便又百度了一下,看看有没有其它方法,结果看到下面这段函数,但其中的count++; offset += subStr.length;有点看不明白是什么意思,请路过的前辈解惑!function countInstances (mainStr, subStr) {    var count = 0;    var offset = 0;    do{        offset = mainStr.indexOf(subStr, offset); // 通过indexOf获得某字符在字符串中出现的位置        if( offset != -1 ) { // 如果某字符存在于字符串中            count++;            offset += subStr.length;        }    } while ( offset != -1 );    return count;}countInstances('www.segmentfault.com', '.')// alert( countInstances('www.segmentfault.com', '.') );
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

indexOf用法
count++; offset += subStr.length;
count表示的是计数器,记下字符出现的次数
offset赋值给 indexOf的第二个参数,表示从父字符串的 offset 索引位置开始 查找 子字符串subStr
offset找到了,就count+1,再从offset += subStr.length的位置开始找,因为indexOf只能判断最初找到子字符串的索引。。
我好像说的有的复杂,其实很简单的,你在纸上画下执行过程就知道了

查看完整回答
反对 回复 2018-12-18
  • 1 回答
  • 0 关注
  • 409 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号