javascript - Concernant les statistiques du nombre de fois qu'un certain caractère apparaît dans une chaîne, j'ai vu un morceau de code en ligne et il y a une partie dont je ne comprends pas ce que cela signifie.
迷茫
迷茫 2017-06-12 09:33:03
0
1
992

Aujourd'hui, j'ai utilisé la méthode split() pour compter le nombre de fois qu'un certain caractère apparaît dans une chaîne. Au fait, j'ai vérifié Baidu pour voir s'il existe d'autres méthodes. J'ai vu la fonction suivante, mais je ne comprends pas. ça count++; offset += subStr.length; Qu'est-ce que ça veut dire ? S'il te plaît, laisse les seniors de passage l'expliquer !

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

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

répondre à tous(1)
typecho

indexOf utilisation
count++; offset += subStr.length;count++; offset += subStr.length;
count表示的是计数器,记下字符出现的次数
offset赋值给 indexOf的第二个参数,表示从父字符串的 offset 索引位置开始 查找 子字符串subStr
offset找到了,就count+1,再从offset += subStr.length的位置开始找,因为indexOfcount représente un compteur, enregistrant le nombre de fois qu'un caractère apparaît
offset affectation Le deuxième paramètre donné à indexOf signifie rechercher la sous-chaîne subStr à partir de la position d'index de décalage de la chaîne parent lorsque offset est trouvé. , Juste count+1, puis commencez la recherche à partir de la position de offset += subStr.length, car indexOf ne peut déterminer que l'emplacement initial de la sous-chaîne trouvée. .

J'ai l'impression de dire que c'est compliqué, mais c'est en fait très simple. Dessinez simplement le processus d'exécution sur papier et vous comprendrez🎜.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!