728x90
// Filter anagrams
// importance: 4
// Anagrams are words that have the same number of same letters, but in different order.
function aclean(arr) {
const map = new Map();
for(word of arr) {
const sorted = word.toLowerCase().split('').sort().join('');
map.set(sorted, word);
}
return Array.from(map.values()).join(', ');
}
let arr = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];
console.log( aclean(arr) ); // "nap,teachers,ear" or "PAN,cheaters,era"
// 2
// function aclean(arr) {
// const obj = {};
// for(let i = 0; i < arr.length; i++) {
// const sorted = arr[i].toLowerCase().split('').sort().join('');
// obj[sorted] = arr[i];
// }
// return Object.values(obj).join(', ');
// }
// let arr = ["nap", "teachers", "cheaters", "PAN", "ear", "era", "hectares"];
// console.log( aclean(arr) ); // "nap,teachers,ear" or "PAN,cheaters,era"

+ Recent posts