JavaScript - Ordenar una matriz (array) de nombres introducidos por el usuario.

 
Vista:

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (14 intervenciones) el 30/04/2019 14:45:24
Estoy haciendo un curso de introduccion al javascript y llevo tiempo atascado en este ejercicio.
Se deben introducir nombres con un prompt, si se pulsa aceptar el usuario sigue introduciendo nombres, si se pulsa cancelar se muestran los nombres ordenados por orden de introducion en pantalla y luego ordenados alfabeticamente, Se debe comprobar si se han introducido numeros o al menos un nombre. Casos especiales:
Si se introdujese un número, una alerta nos advertirá que hemos introducido un número y volveremos a la pregunta. Si no se introduce nada, una alerta nos advertirá que no hemos introducido nada y nos saldremos del programa.

Estos son los dos codigos que llevo hasta ahora y no funcionan:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<HTML>
<HEAD><TITLE>Actividad 3.1</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
var nombre;
var contador = 0;
var salida = 0;
var lista = new Array();
 
do {nombre=prompt("inserta un nombre");
if (isNaN(nombre)){
if (nombre){alert("Se a usado un numero");}
else {lista.push(nombre);}
;}
else {salida=1;}
;}
while (salida == 0);
 
for(contador in lista)
{document.write(lista[contador]+" ** ");}
</SCRIPT>
</BODY>
</HTML>
 
<!DOCTYPE html>
<html>
<head>
  <title>3.1</title>
  <meta charset="UTF-8">
</head>
<body>
 
<script>
  var nombre;
  var salida = 0;
  var lista = new Array();
  do { nombre=prompt("inserta un nombre");
   if (isNaN(nombre)) {document.write(nombre+"<br>");}
   else {salida=1;}
  ;} while (salida == 0);
</script>
 
</body>
</html>
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 Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (531 intervenciones) el 30/04/2019 16:49:55
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
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
<script>
	lista=[];
	do{
		nombre = prompt("Nombre");
		if(nombre!=null && nombre!=""){
			if(!isNaN(Number(nombre))){
				alert("Se ha usado un numero.");
			}else{
				lista.push(nombre);
			}
		}
	}while(nombre!=null);
 
	document.write('<b>Lista Original</b><br />');
	listar(lista);
	document.write('<br />');
 
	document.write('<b>Lista Ordenada</b><br />');
	lista.sort()
	listar(lista);
 
	function listar(arreglo){
		for(nombre of arreglo){
			document.write(nombre+'<br />');
		}
	}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (14 intervenciones) el 09/05/2019 11:55:34
Vale, gracias por la ayuda, pero ahora necesito arreglar 3 cosas mas.

Tiene que salir una alerta si no se han introducido nombres y se pulsa cancelar.
Para mostrar los nombres del array hay que usar el metodo join.
Hay algo que hace que el codigo no sea conpatible con IE.
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

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (531 intervenciones) el 09/05/2019 15:45:24
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
for...of no es compatible con el obsoleto IE, join lo solucionaría el problema.
De ahí en más ¿que se te complica?
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

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (14 intervenciones) el 11/05/2019 12:38:09
Faltaria encontrar un punto del codigo donde colocar el alert cuando se pulsa cancelar y el array esta vacio de nombres
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

Ordenar una matriz (array) de nombres introducidos por el usuario.

Publicado por Alejandro (531 intervenciones) el 11/05/2019 18:12:22
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¬_¬ pues es justamente después de haber terminado de ingresar los nombres, en seguida del while
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