Solución

@josemcarrizosa98_f7e20d3d·30/4/2026TypeScript
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
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.