Solución
solution.tsTypeScript
function groupByFirstLetter(words: string[]): Record<string, string[]> {
const wordsByLetterMap: Record<string, string[]> = {}
//Object containing letters from a to z
for(let asciiCode = 65; asciiCode <=122; asciiCode++ ){
wordsByLetterMap[String.fromCharCode(asciiCode)] = [];
}
words.forEach( word=> {
const firtsLetterCode = word.toLocaleLowerCase().charCodeAt(0)
wordsByLetterMap[String.fromCharCode(firtsLetterCode)].push(word)
})
//deleting keys with an empty array as value
for(let asciiCode = 65; asciiCode <=122; asciiCode++ ){
if(wordsByLetterMap[String.fromCharCode(asciiCode)].length ===0){
delete wordsByLetterMap[String.fromCharCode(asciiCode)];
}
}
return wordsByLetterMap;
}
// No modificar: necesario para evaluar el resultado.
export { groupByFirstLetter };0respuestas