How to group Anagrams from an array of strings in TypeScript

1 Answer

0 votes
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" 

*/

 



answered Jun 9, 2025 by avibootz
...