Heim > Artikel > Web-Frontend > Javascript erhält die am häufigsten wiederholten Zeichen_Javascript-Tipps
Javascript erhält die am häufigsten wiederholten Zeichen
/** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!words) return; //如果字符串已经变空则返回,结束递归 word = words[0]; //取出字符串中的第一个字符 length = words.length; //将length设为当前字符串长度 words = words.replace(new RegExp(word, 'g'), ''); //返回将字符串剔除当前字符的剩余字符串 length = length - words.length; //重设length为当前字符在字符串中的长度 if (length > max.wordLength) //如果该字符重复次数大于maxLength,则重设maxLength为当前字符重复次数 max = { //重设对象的值 wordName : word, wordLength : length }; arguments.callee(words); //递归调用,传入剩余字符串 })(words); console.log(max.wordName+"\n"+max.wordLength); //递归结束后输出结果
Ich habe heute Morgen zufällig ein solches Problem gesehen. Ich habe gesehen, dass die meisten Probleme im Internet durch zwei Schleifen verursacht werden. Dann habe ich es mithilfe der Rekursion geschrieben
Die Idee istEntfernen Sie bei jeder Wiederholung das erste Zeichen mit demselben Symbol aus der Zeichenfolge und subtrahieren Sie die Länge der entfernten Zeichenfolge von der vorherigen Zeichenfolge
Was erhalten wird, ist die Anzahl der Wiederholungen des aktuellen Zeichens in der Zeichenfolge
Bestimmen Sie, ob die Anzahl der Wiederholungen des Zeichens größer ist als die im aktuellen Ausgabeobjekt gespeicherte maxLength.
Wenn wahr, aktualisieren Sie
Geben Sie dann die nächste Rekursion ein, bis die Zeichenfolge ersetzt ist, und beenden Sie
Das Ausgabeobjekt speichert die häufigsten Zeichen und die Anzahl der Wiederholungen
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.