Du kan prøve dette. Der er givetvis basis for en masse optimering, men det skulle da give en idé om, hvordan du får hul på opgaven.
<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<textarea id="txt" style="width:400px;height:200px">Jeg skriver en lille tekst for at se om der kommer nogle ord som går igen igen og for at se om det giver mening, når man skriver i et tekstfelt. Så jeg skriver lige igen igen, igen for at konstatere at igen faktisk er det ord der forekommer mest i min tekst.
I øjeblikket ser det ud til at være tilfældet, men det kan være ordet bliver overhalet af andre ord, som også kan tænkes at forekomme hyppigere end igen gør, det kunne f.eks. være at, som også forekommer ofte i denne tekst.</textarea>
<div id="dbg"></div>
<script>
document.getElementById("txt").focus();
document.getElementById("txt").addEventListener("keyup", function(e) {
var sortedList = e.target.value
.toLowerCase()
.split(/[\s\.\,\;\:]+/g)
.filter(function(i) {
return !(/^(at|det|en|et|i|og|også|som)$/gi).test(i);
})
.sort();
var most = "",
mostCnt = 0,
current = "",
currentCnt = 0;
for(var i = 0, l = sortedList.length; i < l; i++) {
if(sortedList[i] != current) {
if(most == "" || currentCnt > mostCnt) {
most = current;
mostCnt = currentCnt;
}
current = sortedList[i];
currentCnt = 0;
}
currentCnt++;
}
document.getElementById("dbg").innerHTML = most + ": " + mostCnt;
});
</script>
</body>
</html>