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