suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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.

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

Antworte allen(1)Ich werde antworten

  • typecho

    typecho2017-06-12 09:35:03

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

    Antwort
    0
  • StornierenAntwort