function groupAnagrams(strs: string[]): string[] {
const anagramMap = new Map();
strs.forEach(str => {
const sortedStr: string = str.split('').sort().join(''); // Sort characters in the string
if (!anagramMap.has(sortedStr)) {
anagramMap.set(sortedStr, []);
}
anagramMap.get(sortedStr).push(str);
});
return Array.from(anagramMap.values());
}
const inputWords: string[] = ["eat", "tea", "tan", "ate", "nat", "bat", "tae"];
const groupedAnagrams: any[] = groupAnagrams(inputWords);
groupedAnagrams.forEach(group => {
console.log(group.join(" "));
});
/*
run:
"eat tea ate tae"
"tan nat"
"bat"
*/