JavaScript - SORT() VS ORDEN LEXICOGRAFICO

 
Vista:
Imágen de perfil de nelson
Val: 31
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

SORT() VS ORDEN LEXICOGRAFICO

Publicado por nelson (15 intervenciones) el 08/02/2021 22:21:44
Hola amigos, realice un ejercicio donde se me pidió devolver un array que contiene cadenas de strings en orden lexicográfico , esto lo realice utilizando el método sort(), y el ejercicio fue aceptado y aprobado. el punto es que realize esto sin saber que que estaba haciendo ya que al buscar informacion sobre este metodo sort() y el orden lexicografico , la verdad es que no logro entender cual es su ralacion, porque sort() por defecto ordenara segun el orden unicode de cada una de sus caracteres, pero el orden lexicografico por lo que entiendo segun lo que investigue no tiene que ver con eso. ese es mi problema
¿porque al ordenar con sort() (por defecto) es considerado un orden lexicogafico? no veo por ahora su relacion
muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

SORT() VS ORDEN LEXICOGRAFICO

Publicado por joel (895 intervenciones) el 09/02/2021 08:31:32
Hola Nelson, la verdad es que esto del orden de las palabras es un tanto complicado, ya que por ejemplo, si ordenas una cadena, la letra "Z" va delante de la letra "a"
1
2
let v="la caZADORA".split(''); // ["l", "a", " ", "c", "a", "Z", "A", "D", "O", "R", "A"]
v.sort().join(''); // " AADORZaacl"


Una solución es comprar los valores en minúsculas...
1
2
3
4
5
v.sort((a,b) => {
    a=a.toLowerCase();
    b=b.toLowerCase();
    return a > b ? 1 : (a < b ? -1 : 0);
}).join(''); " aaAAcDlORZ"


Otra solución es utilizar localeCompare(), el cual determina si una referencia esta delante o detrás de otra
1
v.sort((a,b) => a.localeCompare(b)).join(''); " aaAAcDlORZ"


No se si te ayuda en tu duda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de nelson
Val: 31
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

SORT() VS ORDEN LEXICOGRAFICO

Publicado por nelson (15 intervenciones) el 09/02/2021 15:44:21
Hola joel, he estado averiguando mas sobre esto y creo que ya entendí, básicamente este orden lexicográfico es el orden que sigue la tabla unicode para los caracteres que es precisamente lo que hace por defecto este método sort(), claro que este método como considera mayusculas de minusculas y el texto puede ser diferente si es que la cadena presenta mayusculas y minusculas ¿ estoy en lo correcto? eso si tendria sentido ya que acabo de ver un ejercicio en internet desarrollado en python, en el cual la persona que realiza y explica este ejercicio ordena la cadena 'Python' en orden lexicográfico para esto el transforma y convierte todos los caracteres a mayúsculas para luego ordenar y el resultado es HNOPTY, lo cual si es correcto según la tabla unicode.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

SORT() VS ORDEN LEXICOGRAFICO

Publicado por joel (895 intervenciones) el 09/02/2021 17:13:31
si, exacto!!!

El problema de pasar la cadena a mayúsculas o minúsculas antes de ordenarlo, es que el resultado puede variar del origen...

Si el origen es "Casa", el resultado de pasarlo a mayúsculas y ordenarlo es "AACS" el cual no es del todo correcto... lo correcto seria: "aaCs" no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de nelson
Val: 31
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

SORT() VS ORDEN LEXICOGRAFICO

Publicado por nelson (15 intervenciones) el 12/02/2021 20:19:14
si, muchas gracias ya me queda mas claro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar