How to group Anagrams from an array of strings in Node.js

1 Answer

0 votes
function groupAnagrams(strs) {
    const anagramMap = new Map();

    strs.forEach(str => {
        const sortedStr = 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 = ["eat", "tea", "tan", "ate", "nat", "bat", "tae"];
const groupedAnagrams = groupAnagrams(inputWords);

groupedAnagrams.forEach(group => {
    console.log(group.join(" "));
});

// Export function for use in other modules (if needed)
module.exports = groupAnagrams;




/*
run:

eat tea ate tae
tan nat
bat

*/

 



answered Jun 9, 2025 by avibootz
...