JavaScriptは文字の出現回数をカウントします

JavaScriptは文字の出現回数をカウントします

この記事の例では、文字の出現回数をカウントするJavaScriptの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

ユーザー入力文字列内の各文字の出現回数をカウントします。

たとえば、入力文字列が「abca12abbc121d」の場合、出力は、a が 3 回、b が 3 回、c が 2 回、d が 1 回、1 が 3 回、2 が 2 回出現します。

方法1

<スクリプト>
 var ary = "abca12abbc121d";
 
 var obj = {};
 var i = 0;
 ary1 = ary.toLocaleLowerCase(); 
 
 (i = 0; i < ary1.length; i++) の場合
 {
 キー = ary1[i];
 if(オブジェクト[キー])
 {
 //オブジェクトにはこの文字が含まれています obj[key]++;
 }
 それ以外
 {
 //オブジェクトにはこの文字がないので、オブジェクトに文字を追加します。obj[key] = 1;
 }
 }
 
 for(var key in obj) //このオブジェクトを走査します {
 console.log(key + "この文字が出現する" + obj[key] + "回");
 }
</スクリプト>

効果は以下のとおりです。

このメソッドは開発者ツールを使用して実装されます

方法2

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="UTF-8">
 <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
 <title>ドキュメント</title>
 <script src="sc/char-sunmmary.js"></script>
 <スクリプト>
 window.onload = 関数(){
  var txtChars = document.getElementById("txt-chars");
  var show = document.getElementById("show");
  document.getElementById("btn-ok").onclick=function(){
  var str=txtChars.値;
  var charTotal = total(str);
  // 降順 charTotal.sort(function(a,b){
   (a.count-b.count)*-1 を返します。
  })
  
  show.innerHTML="<ul>";
  //slice(0,5)は最初の5つを取得します for(var ct of charTotal.slice(0,5)){
   show.innerHTML+="<li>"+ct.char+" が "+ct.count+" 回出現しました</li>";
  }
  show.innerHTML+="</ul>";
  }
 }
 </スクリプト>
</head>
<本文>
 <label for="txt-chars">文字列を入力してください:</label>
 <input type="text" id="txt-chars" name=""/>
 <button id="btn-ok">OK</button>
 <p id="表示"></p>
</本文>
</html>

char-sunmmary.js

関数Summary(char,count) {
 this.char=char;
 this.count=カウント;
}
// 文字列を渡して出現頻度を返す function total(str) {
 var 結果 = [];
 for(var c of str){
 var charObj = checkChar(結果、c);
 if(charObj==null){
  結果.push(新しいサマリー(c,1));
 }
 それ以外{
  charObj.count++;
 }
 }
 結果を返します。
}
// 配列 arr 内の文字 char を含むサマリーインスタンスを検索します // 存在する場合はインスタンスを返し、存在しない場合は null を返します
関数 checkChar(arr,char) {
 var r = null;
 for(var c of arr){
 c.char ==charの場合{
  r=c;
  壊す;
 }
 }
 r を返します。
} 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScriptは文字列内の各文字の出現回数をカウントします。完全な例
  • 最も頻繁に出現する文字の数をカウントする js コード
  • JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

<<:  Serv-U FTPとADの完璧な統合ソリューションの詳細な説明

>>:  MySQL 5.7.17 のインストールと設定のグラフィックチュートリアル

推薦する

Alibaba Cloud イメージリポジトリを使用して外部 Docker イメージを構築する方法の詳細な説明

Alibaba Cloud Image Repositoryを使用して外部イメージをダウンロードする...

Linux環境でのDockerインストールチュートリアル

1. 設置環境Dockerは次のCentOSバージョンをサポートしていますCentOS 6.5 (6...

MySQL解凍版のインストール手順の詳しい説明

1. 公式サイトにアクセスします: D:\mysql-5.7.21-winx64\bin をダウンロ...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

vue.config.js からプロジェクト最適化までの vue2.x 構成

目次序文vue.config.js 構成オプションパッケージサイズを縮小するためのパッケージの最適化...

反応ジャンプ後にルートが変更されてもページが更新されない場合の解決策

目次質問解決質問この問題には多くの理由があるようです。私の問題は、パラメータ付きのURLを更新できな...

Docker で onlyoffice をインストールして展開する詳細なプロセス

0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...

4つの柔軟なScssコンパイル出力スタイル

多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...

CentOS で LibreOffice を使用してドキュメント形式を変換する方法

プロジェクト要件では、アップロードされたドキュメントの前処理が必要です。ユーザーが doc 形式でド...

Vue でのルーティングガードの具体的な使用法

目次1. グローバルガード1.1 グローバルフロントガード1.2 グローバルポストルートガード1.3...

VUE v-for の :key の詳細な説明

v-for タグにキーが追加されていない場合。 <!DOCTYPE html> <...

win10 64 ビット システムに複数の JDK バージョンをインストールする際の切り替え問題と解決策の概要

コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...

JavaScript でエラーが発生しやすい演算子操作の概要

目次算術演算子異常状況1: 特殊値リテラルを含む操作異常な状況 2: 他の種類のデータが数学演算に関...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

Webpack5-react スキャフォールディングをゼロから構築するための実装手順 (ソースコード付き)

目次ウェブパック5公式スタート建築ガイド構築を開始する依存する準備が完了したら、プロジェクトの構築を...