Estoy tratando de comparar 2 cadenas alfabéticamente para fines de clasificación. Por ejemplo, quiero tener una verificación booleana como if('aaaa' < 'ab'). Lo intenté, pero no me da los resultados correctos, así que supongo que no es la sintaxis correcta. ¿Cómo hago esto en jquery o Javascript?
javascript
jquery
mismo viejo
fuente
fuente

'aaaa' < 'ab'regresatrue. <! - edición falsa para eliminar el voto ->Respuestas:
Veamos algunos casos de prueba: intente ejecutar las siguientes expresiones en su consola JS:
Todos vuelven verdaderos.
JavaScript compara cadenas carácter por carácter y "a" viene antes de "b" en el alfabeto, por lo tanto, menos que.
En tu caso funciona así:
compara los dos primeros caracteres "a" - todos iguales, pasemos al siguiente carácter.
compara los segundos caracteres "a" con "b" - ¡whoop! "a" viene antes que "b". Devuelve verdadero.
fuente
"a" < "b" === true"a" < "B" === false.Dice que la comparación es para fines de clasificación. Entonces sugiero en su lugar:
Vuelve
-1desde"a" < "b",1o de lo0contrario, como lo necesita para Array.prototype.sort ()Tenga en cuenta que la clasificación depende de la configuración regional. Por ejemplo, en alemán,
äes una variante dea, por lo que"ä".localeCompare("b", "de-DE")vuelve-1. En sueco,äes una de las últimas letras del alfabeto, por lo que"ä".localeCompare("b", "se-SE")vuelve1.Sin el segundo parámetro
localeCompare, se utiliza la configuración regional del navegador. Lo que en mi experiencia nunca es lo que quiero, porque entonces se clasificará de manera diferente al servidor, que tiene una configuración regional fija para todos los usuarios.fuente
"aa".localeCompare("ab")== "aa" .localeCompare ("Ab") para cualquier configuración regional que se me ocurra) y funciona incluso en versiones antiguas de IE. ¡Debería ser la respuesta aceptada!Solo recuerde que la comparación de cadenas como "x"> "X" distingue entre mayúsculas y minúsculas
Puede utilizar
.toLowerCase()para comparar sin distinción entre mayúsculas y minúsculas.fuente
"a".localeCompare("b")debería volver-1ya queaordena antesbhttp://www.w3schools.com/jsref/jsref_localecompare.asp
fuente
Digamos que tenemos una matriz de objetos:
entonces podemos ordenar nuestra matriz de la siguiente manera:
Nota: tenga cuidado con las letras mayúsculas, es posible que deba convertir su cadena en minúsculas debido a su propósito.
fuente