Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Ordenar una cadena alfabéticamente usando una función

Imagina que te dieron una cadena y tuviste que ordenarla alfabéticamente usando una función. Ejemplo:

 sortAlphabets( 'drpoklj' ); //=> returns 'djklopr'

Cuál sería la mejor forma de hacer esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede usar la función de sort de matrices:

 var sortAlphabets = function(text) { return text.split('').sort().join(''); };

PASOS

  1. Convertir string en array
  2. Ordenar array
  3. Convertir array posterior a string

Manifestación

over 4 years ago · Santiago Trujillo Denunciar

0

Los navegadores más nuevos admiten String.prototype.localeCompare() , lo que hace que la clasificación de cadenas codificadas utf8 sea realmente simple. Tenga en cuenta que los diferentes idiomas pueden tener un orden diferente de caracteres. Más información en MDN sobre localCompare .

 function sortAlphabet(str) { return [...str].sort((a, b) => a.localeCompare(b)).join(""); } console.log(sortAlphabet("drpoklj")); // Logs: "djklopr"

Si solo tiene que admitir cadenas ASCII, la implementación de clasificación predeterminada servirá.

 function sortAlphabet(str) { return [...str].sort().join(""); }
over 4 years ago · Santiago Trujillo Denunciar

0

Como han mostrado las respuestas anteriores, convierte la cadena en una matriz de cadenas de un solo carácter, las ordena y luego las vuelve a combinar en una cadena. Sin embargo , usar split no es la mejor forma de realizar ese primer paso, porque una cadena JavaScript es una serie de unidades de código UTF-16 con pares sustitutos no válidos tolerados, y split("") divide los pares sustitutos en su código individual unidades, potencialmente separándolas, rompiendo así el punto de código (en términos generales: carácter) que se supone que deben formar como un par. Entonces, si tiene un emoji en la cadena (por ejemplo) o cualquiera de los cientos de miles de caracteres en scripts no occidentales, estos pueden romperse.

En ES5 y versiones anteriores, dividir correctamente la cadena requería que detectara y manejara los pares sustitutos para asegurarse de que permanecieran juntos, lo que era un poco molesto e implicaba verificar charCodeAt para rangos de valores específicos.

A partir de ES2015+, es realmente fácil: solo usa el iterador de la cadena, que se define para proporcionar cada punto de código en la cadena, ya sea una sola unidad de código o dos. Para obtener una matriz de los puntos de código, puede usar el iterador a través de la notación de distribución ( [...str] ) o Array.from ( Array.from(str) ).

Así que usando eso, obtenemos:

 function sortAlphabets(str) { return [...str].sort((a, b) => a.localeCompare(b)).join(""); }

Ejemplo en vivo:

 // Using the iterator function sortAlphabets(str) { return [...str].sort((a, b) => a.localeCompare(b)).join(""); } // Using split("") function sortAlphabetsUsingSplit(str) { return str.split("").sort((a, b) => a.localeCompare(b)).join(""); } const str = "😀देवनागरी😃"; console.log("Original string : " + str); console.log("Using the iterator : " + sortAlphabets(str)); console.log("Using split('') : " + sortAlphabetsUsingSplit(str));

Tenga en cuenta cómo al usar split , algunos de los personajes se han destrozado.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda