Foros del Web » Creando para Internet » HTML »

secuencia creciente de caracteres

Estas en el tema de secuencia creciente de caracteres en el foro de HTML en Foros del Web. Hola, Me gustaría saber como puedo realizar una función para saber si una secuencia de caracteres se encuentra en orden creciente o no. Por ejemplo, ...
  #1 (permalink)  
Antiguo 06/12/2008, 06:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
secuencia creciente de caracteres

Hola,
Me gustaría saber como puedo realizar una función para saber si una secuencia de caracteres se encuentra en orden creciente o no.
Por ejemplo, la palabar "amor" está en orden creciente y
la palabra "roma" no se encuentra en orden decreciente....
  #2 (permalink)  
Antiguo 06/12/2008, 12:17
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 10 años, 9 meses
Puntos: 67
Respuesta: secuencia creciente de caracteres

Te refieres al orden alfabético? claro en la palabra "amor" sus letras están en orden alfabético. No sé para qué quieres hacer eso pero me resulta interesante. Como no estamos en la sección de PHP voy a hacerlo en JavaScript (aunque tampoco estamos en la sección JavaScript).

Código:
function isAlfa(txt) {
	var alfa = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "ñ", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
	var orden = new Object();
	for (var n = 0; n < alfa.length; n ++) orden[alfa[n]] = n;

	
	var len = txt.length;
	txt = txt.toLowerCase();

	var rst = true;

	var a = -1;
 	for (var i = 0; i < len; i ++) {
	    let = txt.substr(i, 1);
	    var b = orden[let];	
	    if (a > -1) {
		if (a > b) {
		   rst = false;
		   break;	
		}  else a = b;	
	    }	else a = b;
	}
	return rst;
}
Está probado, espero que te sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:42.