Javascript 如何将所有短语一个接一个地对齐,从重复次数最多的短语到重复次数最少的短语?
如何将所有短语一个接一个地对齐,从重复次数最多的短语到重复次数最少的短语 我有这样一句话:“要做,2,你能,5,你能,4” 我想要这个:做2, 你能告诉我吗, 你知道吗Javascript 如何将所有短语一个接一个地对齐,从重复次数最多的短语到重复次数最少的短语?,javascript,arrays,string,Javascript,Arrays,String,如何将所有短语一个接一个地对齐,从重复次数最多的短语到重复次数最少的短语 我有这样一句话:“要做,2,你能,5,你能,4” 我想要这个:做2, 你能告诉我吗, 你知道吗 function toPhrases(text, wordCount) { const words = text.match(/[\w\u0402-\u045f]+/ig); const phrases = new Map(); for (let i = 0; i < words.length; i++) { le
function toPhrases(text, wordCount) {
const words = text.match(/[\w\u0402-\u045f]+/ig);
const phrases = new Map();
for (let i = 0; i < words.length; i++) {
let
phrase = words.slice(i, i + wordCount).join(' '),
hashedPhrases = phrases.get(phrase);
if (hashedPhrases) {
phrases.set(phrase, hashedPhrases + 1);
} else {
phrases.set(phrase, 1);
}
if (i + wordCount >= words.length) {
break;
}
}
// Each member of phrases is actually a two-element array like [phrase, count], so...
let duplicatePhrases = [...phrases].filter(phrase => phrase[1] > 1);
return duplicatePhrases;
}请拨弄/片段。什么在重复?我想这是为了做5,你能做4,你能做3,这是什么意思?这些数字是什么意思?重复这个词指的是什么?数字是文本中短语的频率。
document.getElementById('output-2').innerHTML = toPhrases(text.toString(), 2);
document.getElementById('output-3').innerHTML = toPhrases(text.toString(), 3);
document.getElementById('output-4').innerHTML = toPhrases(text.toString(), 4);