Assignment 9 - Hash Compression
by Mike Kerney
HTML
<form id="form">Enter Phrase.
<br>
<textarea id='phrase' rows='10' cols='50'>I want what I want and I know what I want</textarea>
<br>
<input type="button" value="Parse Phrase" id="parse" onClick='parsePhrase();'>
</form>
<div id="output"></div>
JavaScript
var hashTable = new HashTable();
function parsePhrase() {
var phrase = document.getElementById('phrase').value;
var phraseAsStringArray = phrase.split(' ');
var len = phraseAsStringArray.length;
hashTable.bins=[];
for (var i = 0; i < len; i++) {
hashTable.addWord(phraseAsStringArray[i],i+1);
}
for(var b=0;b<hashTable.bins.length;b++){
document.getElementById('output').innerHTML += hashTable.bins[b]+ "<br/>" ;
}
}
function HashTable(){
this.bins = [];
this.addWord = function(word,index) {
var add = true;
for(var i=0;i<hashTable.bins.length;i++){
for(var j=0;j<hashTable.bins[i].length;j++){
if(hashTable.bins[i][j] === word){
hashTable.bins[i].push(index);
add = false;
break;
}
}
}
if(add){
var arr = [];
arr.push(word);
arr.push(index);
hashTable.bins.push(arr);
}
}
}