anagramGrouper

by Abdul Ahmad

JavaScript

var words = ['cat', 'hap', 'fat', 'tac', 'pah', 'hpa', 'atf', 'tca', 'cta'];
function groupAnagrams(wordArray) {
	var anagramMap = {};
	for(var i = wordArray.length - 1; i > -1; i--) {
  	var word = wordArray[i];
    var sortedWord = sortWordAlphabetically(word);
    if(anagramMap[sortedWord]) {
    	anagramMap[sortedWord].push(word);
    } else {
    	anagramMap[sortedWord] = [word];
    }
  }
  console.log(anagramMap);
}

function sortWordAlphabetically(word) {
	var charArray = word.split('');
  var sorted = charArray.sort();
  return sorted.join('');
}

groupAnagrams(words);