JavaScript - Palíndromo

 
Vista:

Palíndromo

Publicado por Gerard (4 intervenciones) el 16/11/2017 12:04:25
Hola! Soy nuevo en esto de la programación web, y como muchos de vosotros nos invaden las dudas a la hora de desarrolar código. Necesito saber si el dato introducido en un prompt, es un palíndromo o no.
el código que tengo en la función es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
window.onload= function texto()
{
var palabra=prompt("Escribe una palabra")
//pasamos a minuscula x=frase principal
var x=palabra.toLowerCase();
//convertimos en array
var y=x.split("");
//eliminamos espacios en blanco
var z="";
for (var i=0;i<y.length;i++){
if (y[i]!=""){
z=y[i];
}
}
var n=z.split("");
var m=z.split("").reverse();
for (var i=0;i<n.length;i++){
if(n[i]==m[i]){
alert("Esto es un palíndromo")
return (true);
}
else{
alert("Esto no es un palíndromo")
return(false);
}
}
}

Así, siempre me devuelve true y siempre me sale la alerta, esto es un palíndromo! Alguien me podría ayudar? Dónde estoy cometiendo el error? Muchas gracias de antemano!
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 xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Palíndromo

Publicado por xve (2100 intervenciones) el 16/11/2017 14:55:32
Hola Gerard, creo que haces demasiadas cosas... te he disminuido un poco el código haber si te sirve.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script>
function texto()
{
	var palabra=prompt("Escribe una palabra").toLowerCase();
 
	// eliminamos los espacios en blanco
	palabra=palabra.replace(/ /g, "");
 
	for (var i=0;i<palabra.length;i++){
		if(palabra[i]!=palabra[palabra.length-i-1]){
			return false;
		}
	}
	return true;
}
 
if(texto())
{
	alert("Esto es palíndromo");
}else{
	alert("Esto no es palíndromo")
}
</script>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar

Palíndromo

Publicado por Gerard (4 intervenciones) el 16/11/2017 19:10:46
Genial, muchísimo más simple y mil veces más fácil de entender y detectar errores en caso de que los hubiera!
Muchas gracias!!
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

Palíndromo

Publicado por Jose (1 intervención) el 11/04/2019 17:24:34
Hola buenas tardes,

Tengo una pequeña duda respecto a la linea 7. podrías explicarme un poco essa linea por favor.

Muchisimas gracias por adelantado!

Buenas tardes.
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 Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Palíndromo

Publicado por Alejandro (532 intervenciones) el 11/04/2019 18:51:55
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Como lo indica la linea 6 es para eliminar los espacios en blanco pero esta usando una expresión regular la primer diagonal indica el inicio y la segunda el final, puedes notar que hay un espacio en blanco entre las 2; por default replace solo actúa sobre la primer ocurrencia (el primer espacio en blanco que encuentra). La "g" (global) al final, es un modificador para que el replace se realice en todas las ocurrencias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Palíndromo

Publicado por Guillermo (1 intervención) el 19/08/2020 07:32:39
Quien me podria explicar la linea de codigo #10. El length-i-1

Gracias
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

Palíndromo

Publicado por Jeffry Rubí (1 intervención) el 17/10/2020 01:43:41
el leng-1 quiere decir que va quitando espacios para leer hacia atras
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 Antonio
Val: 4
Ha aumentado su posición en 49 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Palíndromo

Publicado por Antonio (1 intervención) el 01/10/2020 03:12:45
Muy buena respuesta, estaba viendo un tutorial de javascript pero es muy antiguo y la solución era engorrosa, gracias por ese ejemplo me ayudo muchísimo!!
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