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);
		}   
	}
}