DEV Community

Discussion on: Algorithm 202 (My Interview Question): Grouping Anagrams in 3 Ways

Collapse
 
rebusweb profile image
Wojciech Rebis

I thought of reducing array of anagrams to an object which keys will be initial words and values arrays of anagrams from these words.

Thread Thread
 
ganeshshetty195 profile image
Ganesh Shetty

Tried pretty much in the same way

function groupAnagrams(array) {
var reducedObject = array.reduce((acc, cur) => {
var newcur=cur.split('').sort().join('');
if (!acc[newcur]) {
acc[newcur] = [cur]
} else {
acc[newcur] = [...acc[newcur], cur]
}
return acc;
}, {});
return Object.values(reducedObject);
}
console.log(groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]));