Hash Sorting
Assign 9
by dhizzybusy
HTML
<form id="form">Enter Phrase.
<br><br/>
<textarea id='phrase' rows='10' cols='50'>I want what I want and I know what I want</textarea>
<br><br/>
<input type="button" value="Parse Phrase" id="parse" onClick='parsePhrase();'>
<br> <br/>
</form>
<div id="output"></div>
JavaScript
var hashTable = new HashTable(); // Global
function parsePhrase() {
var outputx=[];
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 i = 0; i < hashTable.bins.length; i++) {
console.log(hashTable.bins[i]);
outputx.push(hashTable.bins[i]);
}
document.getElementById("output").innerHTML= outputx;
}
function HashTable() {
this.bins = []; // using array as example (list is better)
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);
}
return word ;
};
}