Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

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 derived from many other languages, including ABC, Modula-3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting languages. Python is copyrighted. Python source code is now available under the GNU General Public License (GPL)';
const findTopThree = (str = '') => {
   str = str
   .replace(/[^\w\s]|_/g, "")
   .replace(/\s+/g, " ")
   .toLowerCase();
   const arr = str.split(' ');
   const map = {};
   arr.forEach(word => {
      map[word] = (map[word] || 0) + 1;
   });
   const res = Array.from(Object.keys(map), key => [key, map[key]]);
   res.sort((a, b) => b[1] - a[1]);
   return [res[0][0], res[1][0], res[2][0]];
};
console.log(findTopThree(str));

출력

다음은 콘솔 출력입니다 -

["python","the","and"]