javascript - 关于某字符在字符串中出现的次数统计,网上看到一段代码其中有个地方看不懂什么意思
迷茫
迷茫 2017-06-12 09:33:03
0
1
955

今天自己用 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)
typecho

indexOf用法
count++; offset += subStr.length;count++; offset += subStr.length;
count表示的是计数器,记下字符出现的次数
offset赋值给indexOf的第二个参数,表示从父字符串的 offset 索引位置开始 查找 子字符串subStr
offset找到了,就count+1,再从offset += subStr.length的位置开始找,因为indexOfcount表示的是计数器,记下字符出现的次数
offset赋值给indexOf的第二个参数,表示从父字符串的 offset 索引位置开始 查找 子字符串subStr

offset找到了,就 count+1,再从 offset += subStr.length的位置开始找,因为 indexOf只能判断最初找到子字符串的索引。。我好像说的有的复杂,其实很简单的,你在纸上画下执行过程就知道了
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!