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

JavaScriptの文からn個の最も頻繁な単語を見つける


この質問の目的のために、私たちは文を英語のアルファベットと句読点を含む文字列として定義し、単語は空白で結合されたその文の部分文字列です。

最初の引数として文の文字列strを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。この関数は、最初に文の各単語の頻度をカウントしてから、頻度の減少に従って配置された最も頻繁な単語の数を含む長さnumの配列を返す必要があります。

例-

入力文と数字が-

の場合
const str = 'i am a good coder and i know that i can solve a problem';
const num = 2;

その場合、出力は-

になります。
const output = ['i', 'a'];

配列内で「i」が3回出現し、「a」が2回出現し、文字列で最も頻繁に使用される2つの単語であるためです。

このためのコードは-

になります
const str = 'i am a good coder and i know that i can solve a problem';
const num = 2;
const findMostFrequent = (str = '', num = 1) => {
   const strArr = str.split(' ');
   const map = {};
   strArr.forEach(word => {
      if(map.hasOwnProperty(word)){
         map[word]++;
      }else{
         map[word] = 1;
      }
   });
   const frequencyArr = Object.keys(map).map(key => [key, map[key]]);
   frequencyArr.sort((a, b) => b[1] - a[1]);
   return frequencyArr.slice(0, num).map(el => el[0]);
};
console.log(findMostFrequent(str, num));

出力

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

になります
[ 'i', 'a' ]

  1. JavaScriptのテキスト文字列で最も出現している上位3つの単語を検索する

    問題 英語のアルファベット文字列を取り込むJavaScript関数を作成する必要があります。この関数は、文字列に存在する最も頻繁な上位3つの単語を返す必要があります。 例 以下はコードです- const str = 'Python was developed by Guido van Rossum in the late eighties and early nineties at the National Research Institute for Mathematics and Computer Science in the Netherlands. Python is de

  2. JavaScriptを使用して配列内で最も頻繁に使用される単語を検索する

    問題 最初の引数として英語の小文字のアルファベットの文字列の配列arrを受け取るJavaScript関数を作成する必要があります。関数の2番目の引数は、数値num(num