Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでスペースで区切られた要素の頻度をカウントする関数


次のように空白で区切られたいくつかの文字を含む文字列があるとします-

const str = 'a b c d a v d e f g q';

そのような文字列を1つ取り込むJavaScript関数を作成する必要があります。関数は、文字とその数を含むオブジェクトの頻度配列を準備する必要があります。

このためのコードは-

になります
const str = 'a b c d a v d e f g q';
const countFrequency = (str = '') => {
   const result = [];
   const hash = {};
   const words = str.split(" ");
   words.forEach(function (word) {
      word = word.toLowerCase();
      if (word !== "") {
         if (!hash[word]) {
            hash[word] = { name: word, count: 0 };
            result.push(hash[word]);
         };
         hash[word].count++;
      };
   });
   return result.sort((a, b) => b.count − a.count)
}
console.log(countFrequency(str));

出力

そして、コンソールの出力は-

になります
[
   { name: 'a', count: 2 },
   { name: 'd', count: 2 },
   { name: 'b', count: 1 },
   { name: 'c', count: 1 },
   { name: 'v', count: 1 },
   { name: 'e', count: 1 },
   { name: 'f', count: 1 },
   { name: 'g', count: 1 },
   { name: 'q', count: 1 }
]

  1. JavaScript Symbol.for()関数

    Symbol.for()関数は、実行時全体のシンボルレジスタで特定のシンボルを検索します。シンボルが見つかった場合は返されます。それ以外の場合は、グローバルシンボルレジスタに新しいシンボルが作成され、単純に返されます。 以下はsymbol.for()関数のコードです 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width

  2. PHPのcount()関数

    count()関数は、配列内の要素またはオブジェクト内のプロパティをカウントします。配列内の要素の数を返します。 構文 count(arr, mode) パラメータ arr −指定された配列。 モード −モードを指定します。可能な値は0または1です。0:すべての要素をカウントしない、1:すべての要素をカウントします。 戻る count()関数は、配列内の要素の数を返します- 例 以下は例です- 出力 2