Самое главное запомнить паттерн решения, практически в каждой задаче на анаграммы встречается следующая конструкция, разберём на примере:

// Принять массив строк, вернуть массив массивов анаграмм: 
// ["тьма", "мать", "адрес", "среда", "поток"] → [["тьма", "мать"], ["адрес", "среда"]] 
 
function anagram(arr) {
	// создаем объект
	let obj = {}
	
	for (let name of arr) {
	// сортируем массив, для того, чтобы проверить на анаграму
		const sorted =  name.split('').sort().join('');
		if(obj[sorted]){
			// добавляем в массив name
			obj[sorted].push(name)
		} else {
			// ключ объекта для name с анаграмой
			obj[sorted] = [name]
		}
	}
	// возвращаем значения объекта (массивы) и фильтруем их по условию
	return Object.values(ang).filter(el => el.length > 1)
}

Таким образом, мы вывели анаграммы из списка.