我有一个要从术语列表中删除的“垃圾单词”数组。
目标是在招聘广告中查找最频繁出现的术语。我想找到实际的文本,并去除诸如“功能”,“与”,“或”,“ a”等之类的词。
这将被合并到书签中。
我拥有的脚本去除了其中的一些,但不是全部!
我已经尝试了StackOverflow上所有建议的链接,到目前为止,所有链接都很短-我可能丢失了一些东西,但是没有主意。
javascript:var page=window.location.href;
var counts={};
var text=document.body.textContent||document.body.innerText||'';
var garbageString = ["of", "the", "in", "on", "at", "to", "a", "is", "and", "function", "open", "drop", "be"];
var text = text.split(" ");
for(var i=0; i < garbageString.length; i++){
for(var j=0; j < text.length; j++){
if(text[j].toLowerCase() === garbageString[i]){
text.splice(j, 1);
}
}
}
text = text.join(" ");
var words=text.split(/\b/).filter(function(word){return word.match(/^\w+$/)!==null});
words.forEach(function(word){counts['_'+word.toLowerCase()]=(counts['_'+word]||0)+1});
var sorted=Object.keys(counts).sort(function(a,b){return counts[b]-counts[a]});
var message=sorted[0]===undefined?'No words found!':'<center><b>For the page: <i><font color=\"#0000FF\" size=\"-2\">'+page+'<\/i><\/font><br\/>The Top 20 words are:<\/center><\/b><br>';
sorted.forEach(function(word,index){
if(index>19||word===undefined)return;message+='\n#'+(index+1)+': '+word.substring(1)+' ('+counts[word]+' occurrences)<br>'});
w=window.open('','Word Mode','scrollbars,resizable,width=250,height=500');
w.document.write(message);
当我在这样的URL上测试小书签时:
我想查看与招聘广告和技能有关的术语列表;
不是这个:
答案 0 :(得分:0)
使用过滤器。
var text=document.body.textContent||document.body.innerText||'';
var garbageString = ["of", "the", "in", "on", "at", "to", "a", "is", "and", "function", "open", "drop", "be"];
var words = text.split(" ");
var filteredWords = words.filter(function(word) {
return garbageString.indexOf(word.toLowerCase()) === -1;
}).sort();