Solución

@estouchedisindo·11/5/2026TypeScript
solution.tsTypeScript
function ordenarPalabrasPorLongitud(words: string[]): string[] {
  // Tu implementación aquí
  if( words.length === 0) return [];

  // Compara las longitudes de las palabras para el ordenamiento general
  // return words.toSorted( (word1: string, word2: string) => {
  // mejor?? con sort() ya que no usamos la copia para nada
  // VER esta lección de Fernando, sobre todo si usas React:
  // https://coding-challenges.dev/learn/typescript/inmutabilidad
  // apretando CONTROL y haciendo clic con el ratón sigues el enlace ;D
  return words.sort( (word1: string, word2: string) => {

    const word1Length = word1.length;
    const word2Length = word2.length;

    // PERO si son de igual tamaño... las ordena alfabeticamente
    // localeCompare() devuelve un número que indica si la palabra aparece antes, 
    // después o es la misma que la palabra dada en el orden de clasificación.
    if( word1Length === word2Length ) {
      return word1.localeCompare(word2);
    }

    return word1Length - word2Length;
  });
}

// No modificar: necesario para evaluar el resultado.
export { ordenarPalabrasPorLongitud };
2respuestas
Respuestas
@alexiis-dev2/6/2026

Para casos donde no tenemos que guardar datos es mejor usar .sort() ya que sorted() guarda el arreglo inicial lo que ocupa mas de espacio en memoria.

@estouchedisindoAutor3/6/2026

Gracias @alexiis-dev

Sí, no me di cuenta del detalle. Saludos

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.