我正在尋找一種方法來識別頁面上的所有單詞,並計算每個單詞的每個實例在該頁面上的數量。我需要爲此使用JavaScript,並且不需要jQuery。如何查找頁面上的所有單詞以及每個單詞有多少個
UPDATE
這是我迄今爲止,儘管它似乎是工作,我仍然得到某些情況下,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]);
});
}
沒什麼到目前爲止,javascript不是我最強的一點,即時通訊不知道如何去做這個在javascript中第一個地方 – user1448020
1)選擇所有文本節點2)將文本分割成單詞3)計算每個的出現次數字4)打印結果;在閱讀一個體面的Javascript教程後,你需要哪部分? –
3a)對單詞列表進行排序3b)掃描列表以找到列表中相同的相鄰單元3c)在單詞 –