查找文章中出现频率最高的单词
const fn = (str) => {
if (!str) return;
const article = str.trim().toLowerCase();
const list = article.match(/[a-zA-Z]+/g);
const map = {};
list.forEach((item) => {
let count = 1;
if (Object.prototype.hasOwnProperty.call(map, item)) {
count = map[item] + 1;
}
map[item] = count;
});
let maxItem = { maxWord: "", maxNum: 0 };
for (let item in map) {
if (Object.prototype.hasOwnProperty.call(map, item)) {
if (map[item] > maxItem?.maxNum) {
maxItem = { maxWord: item, maxNum: map[item] };
}
}
}
return maxItem;
};
const _fn = (str) => {
if (!str) return;
const article = str.trim().toLowerCase();
const list = article.match(/[a-zA-Z]+/g);
const map = {};
let maxItem = { maxWord: "", maxNum: 0 };
list.forEach((item) => {
let count = 1;
if (Object.prototype.hasOwnProperty.call(map, item)) {
count = map[item] + 1;
}
map[item] = count;
if (count > maxItem?.maxNum) {
maxItem = { maxWord: item, maxNum: count };
}
});
return maxItem;
};
function findMostWord(article) {
if (!article) return;
article = article.trim().toLowerCase();
let wordList = article.match(/[a-z]+/g),
visited = [],
maxNum = 0,
maxWord = "";
article = " " + wordList.join(" ") + " ";
wordList.forEach(function (item) {
if (visited.indexOf(item) < 0) {
visited.push(item);
let word = new RegExp(" " + item + " ", "g"),
num = article.match(word).length;
if (num > maxNum) {
maxNum = num;
maxWord = item;
}
}
});
return { maxWord, maxNum };
}