Solución

AL@detrualejandro_545cc827·30/6/2026TypeScript
solution.tsTypeScript
function groupByFirstLetter(words: string[]): Record<string, string[]> {

  //step 1: crear objeto donde tendremos cada letra - array (e.g {a: ['alabama']})

  const byLetterSet = {}

  //filter callback
  const filterByFirstLetterMatch = (word: string, letterToComparewith: string) => {
    return word.toLowerCase().startsWith(letterToComparewith)
  } 

  //step 2: iterar por palabras, rellenar objeto filtrando
  for (let word of words) {
    const firstLetterLowerCase = word.at(0).toLowerCase();
    if (!byLetterSet[firstLetterLowerCase]) {

      byLetterSet[firstLetterLowerCase] = words.filter((w) => filterByFirstLetterMatch(w, firstLetterLowerCase))
    }
  }

  return byLetterSet
}

// 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.