ページ上のすべての単語を識別し、そのページにある各単語の各インスタンスの数をカウントする方法を探しています。ただし、これには JavaScript を使用する必要があり、jQuery は使用しません。
アップデート
これは私がこれまでに持っているものです。機能しているように見えますが、2 つ以上の単語が結合されているケースがまだいくつかありますが、手がかりはありますか?
if(window.attachEvent) {
window.attachEvent("onload", myFunc);
} else {
if(window.onload) {
var curronload = window.onload;
var newonload = function() {
curronload();
myFunc();
};
window.onload = newonload;
} else {
window.onload = myFunc;
}
}
function myFunc() {
var words = document.body.innerText;
words = words.replace(/\n/g, " "); //Remove line breaks
words = words.split(" ");
var foundWords = new Array();
var counts = new Array();
words.forEach(function(s) {
s = s.replace(/^\s+|\s+$/g,''); //Trim
s = s.toLowerCase(); //To lower case
var index = foundWords.indexOf(s);
if(s != \'\') { //If word not blank
if(index < 0) {
foundWords.push(s);
var newindex = foundWords.indexOf(s);
counts.push(1);
} else {
counts[index] += 1;
}
}
});
//Cycle through all found words and log the index, word & count
foundWords.forEach( function(s) {
var index = foundWords.indexOf(s);
console.log(index+" "+s+" "+counts[index]);
});
}