javascript – Bezüglich der Statistik darüber, wie oft ein bestimmtes Zeichen in einer Zeichenfolge vorkommt, habe ich online einen Codeabschnitt gesehen, und es gibt einen Teil darin, dessen Bedeutung ich nicht verstehe.
迷茫
迷茫 2017-06-12 09:33:03
0
1
1066

Heute habe ich die Methode split() verwendet, um zu zählen, wie oft ein bestimmtes Zeichen in einer Zeichenfolge vorkommt. Ich habe übrigens bei Baidu nachgesehen, ob es andere Methoden gibt, aber ich kann sie nicht verstehen count++; offset += subStr.length; Was bedeutet das? Bitte lassen Sie es sich von den vorbeikommenden Senioren erklären!

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', '.') );
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen(1)
typecho

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage