Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm n từ xuất hiện nhiều nhất trong câu bằng JavaScript


Định nghĩa: câu là chuỗi chứa chữ cái và dấu câu, từ là chuỗi con ngăn cách bởi khoảng trắng.

Cần viết hàm JS nhận câu str và số num. Hàm đếm tần suất mỗi từ, trả về mảng độ dài num chứa num từ xuất hiện nhiều nhất theo thứ tự giảm dần.

Ví dụ:

Nếu câu và số:

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

Kết quả:

const output = ['i', 'a'];

vì 'i' xuất hiện 3 lần, 'a' 2 lần, là 2 từ nhiều nhất.

Ví dụ

Mã thực hiện:

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));

Kết quả

Kết quả in ra console:

[ 'i', 'a' ]