Jsは文字列の中で最も出現回数の多い文字と個数の実例の解析を探します

1659 ワード

sssfgtdfssddfsssssssのように、最も多く現れる文字はsで、12回現れた.
伝統的な書き方
分析:
1.空のjsonを用意し、循環文字列の各文字から見ると、jsonにこの文字がなければ、jsonに新しい配列を作成し、この文字を配列に入れ、jsonにこの文字があれば、引き続き文字を配列に追加し、このとき循環完了jsonにn個の配列がある
2.jsonの中で最も長い配列を探し出して、この時の長さは個数で、最も多い文字はこのパラメータで、for...in...ループとパラメータattr

var str="sssfgtdfssddfsssfssss";
function max(){
var json={};
var num=0;
var value=null;
for(var i=0;i 
 

jsonに物を入れたくないならどうしますか?
分析:
1.空のjsonを用意し、文字列の各文字を循環することで、jsonにこの文字がなければ、この文字の数を1にし、あれば数++
2.サイクルjsonの文字は、存在する限り、その数を変数に割り当て、毎回新しい文字数とこの変数の大きさを比較し、変数より大きい場合は変数の値を更新し、最後にこの変数の値が最大文字数になる
最も多い文字はjsonの中のこの文字です

var str="sssfgtdfssddfsssfssss";
function max(){
var json={};
for(var i=0;inum){
num=json[k];
value=k;
}
}
alert("        :"+value+',     :'+num);
};
max(str); 

正則的な方法
分析:
1.文字列を配列に変換して並べ替え、同じ文字を正規に選択
2.正規replace()メソッドの2つのパラメータで、最も多くの文字と数を一致させる

var str="sssfgtdfssddfsssfssss";
var num=0;
var value=null;
function max(){
var new_str=str.split("").sort().join("");
var re=/(\w)\1+/g; //  \1,re            ,  \1             ,\1              
new_str.replace(re,function($0,$1){ //$0             , [s,s...],[f,f..],[d,d....] $1          
if(num