Solución:
Puedes usar el localeCompare()
método.
string_a.localeCompare(string_b);
/* Expected Returns:
0: exact match
-1: string_a < string_b
1: string_a > string_b
*/
Otras lecturas:
- MDN: String.prototype.localeCompare
- Desbordamiento de pila: ¿hay un strcmp () de JavaScript?
- Punto de los tutoriales: Cadena JavaScript – Método localeCompare ()
Bueno, en JavaScript, puede verificar dos cadenas en busca de valores iguales a los números enteros, por lo que puede hacer esto:
"A" < "B"
"A" == "B"
"A" > "B"
Y por lo tanto, puede crear su propia función que verifique cadenas de la misma manera que la strcmp()
.
Entonces esta sería la función que hace lo mismo:
function strcmp(a, b)
{
return (a<b?-1:(a>b?1:0));
}
Puede utilizar los operadores de comparación para comparar cadenas. A strcmp
La función podría definirse así:
function strcmp(a, b) {
if (a.toString() < b.toString()) return -1;
if (a.toString() > b.toString()) return 1;
return 0;
}
Editar Aquí hay una función de comparación de cadenas que toma como máximo min {length (a), largo(B)} comparaciones para saber cómo se relacionan dos cadenas entre sí:
function strcmp(a, b) {
a = a.toString(), b = b.toString();
for (var i=0,n=Math.max(a.length, b.length); i<n && a.charAt(i) === b.charAt(i); ++i);
if (i === n) return 0;
return a.charAt(i) > b.charAt(i) ? -1 : 1;
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)