「Zhaochucichuzuiduodezifu」のような文字列で、最も表示されるキャラクターを見つけたいと思います。この記事では、方法とアイデアを詳細に説明します。
最初に2つの文字列オブジェクトに2つの方法を紹介します:indexof()とcharat()メソッド
indexof()メソッドは、文字列内の指定された文字列値の最初の発生の戻りを導入します
charat()メソッドは、指定された位置で返品文字を紹介します
最初に小さなテストを実行して、各「I」が文字列「Woainixiaoli」のどこに表示されるかを見つけます。
<script> var arr = 'woainixiaoli'; var index = -1; //変数インデックスを定義してindex値を制御します// aが見つからない場合、つまりindexof()の値は-1、loop ends {index = arr.indexof( "i"、index + 1); // 2番目のパラメーターインデックス+1を使用して、最後の検索が見つかった場合、文字aの次のインデックス位置から各ルックアップを制御します(index!= -1){//文字iconsole.log(index); //出力a}} whileの位置(index!= -1); </script>上記のコードが実行された後、コンソールは出力されます
トピックに移動して、文字列の「Zhaochucichuzuiduodezifu」のほとんどのキャラクターを見つけます
方法1:アレイを使用します(不利な点があります。表示される文字が複数ある場合、1つだけが見つかります)
<script> var str = "zhaochucichuzuiduodezifu"; var arr = []; //新しい配列//文字列を定義する(var i = 0、length = str.length; i ++){var index = -1; var j = 0; {j ++;}} while(index!= -1); arr [j] = str [i]; //文字列str内の文字をjとしてインデックス付けした配列arrをデータに割り当てます。複数のループの後、繰り返される割り当てが発生します。 //後続の割り当ては以前の割り当てを上書きしますが、ほとんどの文字を持つconsole.log(arr); console.log( " + arr [arr.length -1]); console.log(" and of the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the the and(arr.length -1)); </script>>>>>>>>>>>>>>>>>>>>>>上記のコードが実行され、その後コンソールの出力の結果は次のとおりです。
また、出力配列ARRから、このメソッドが同じ回数で文字を上書きし、1つのみを表示できることも確認できます。 2つの文字が同じ最大回数で表示される場合、この方法は1つしか取得できません。これに基づいて、次の方法を参照して、オブジェクトで解決します。
方法2:オブジェクトの使用(推奨)
<script> var str = "zhaochucichuzuiduodezifu"; var o = {}; for(var i = 0、length = str.length; i <length; i ++){// var char = str [i]; var char = str.charat(i); if(o [char]){// charは属性oの属性です。 o [char] ++; // 1を追加} else {o [char] = 1; //最初の発生の場合、発生数は1}} console.log(o)としてマークされます。 //出力は完全なオブジェクトであり、各文字とその発生数を記録している//オブジェクトを通過して移動し、発生var max = 0; var maxchar = null; for(max <o [key]){max = o [key]; //発生数が最も多いMaxchar = key; //対応する文字は現在のキーです}} console.log( "最も発生するのは" + maxchar); console.log( "発生数は" + max); </script>上記のコードが実行され、その後コンソールの出力の結果は次のとおりです。
この方法は、方法1の問題を解決し、各文字の発生数を明確に記録できます。同じ回数の2人の文字がある場合、オブジェクトにはっきりと表示できます。
ただし、まだ欠点があります。同時に最も高い回数で文字を直接出力することはできません。これには、追加の判断条件が必要です。完璧なコードは次のとおりです
<script> var str = "nininihaoa"; var o = {}; for(var i = 0、length = str.length; i <length; i ++){var char = str.charat(i); if(o [char]){o [char] ++; // 1を追加} else {o [char] = 1; //最初の発生が記録されている場合、回数は1}} console.log(o)として記録されます。 //出力は完全なオブジェクトであり、各文字とその発生数を記録します//オブジェクトを介して移動し、最も発生する文字を見つけますvar max = 0; for(var key in o){if(max <o [key]){max = o [key]; //最大数の最大数が常に保存されている}結果は次のとおりです。
上記は、編集者がJS文字列に最も一般的なキャラクターが表示されることを紹介するキャラクターです。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!