JavaScript - Ordenar listado alfabéticamente

   
Vista:

Ordenar listado alfabéticamente

Publicado por Maribel (10 intervenciones) el 12/04/2014 13:58:27
Hola,

He creado un listado telefónico que funciona de la siguiente manera:

1. A través de un prompt introduzco el número total de contactos.

2. Aparece un prompt que me pregunta el nombre del contacto y tras introducirlo aparece otro prompt que me pregunta el número de teléfono. Aparecerá tantos prompts como número total de contactos haya indicado en el punto número 1.

3.Todos los nombres y telefonos intoducidos anteriormente me salen en un listado en una página web.

4.Aparece otro prompt que me pregunta si quiero ordenar el listado alfabéticamente.

Hasta aquí lo he hecho todo correctamente, pero no se como ordenar el lístado alfabéticamente, si alguien pudiese ayudarme estaría muy agradecida.

Un saludo.

Maribel
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

Ordenar listado alfabéticamente

Publicado por xve (1595 intervenciones) el 12/04/2014 21:27:41
Hola Maribel, entiendo que todos estos telefonos que se añaden los guardas en un array?
Si es así, puedes utilizar la instrucción sort()

1
2
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

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
0
Comentar

Ordenar listado alfabéticamente

Publicado por Maribel (10 intervenciones) el 13/04/2014 14:20:17
Hola,

No es exactamente eso lo que preguntaba, adjunto el código con comentarios para ver si se entiende mejor.

//1.- introducción del numero total de contactos.
1
2
3
do{var total = parseInt(prompt("Introduce el número de contactos"));
if(isNaN(total) || total<=0){alert("Tienes que introducir un valor numérico );}}
while(isNaN(total) || total<=0)

//2.- introducción de los nombres y teléfonos de los contactos. Si en la variable total he introducido 5, por ejemplo, aquí me pedirá 5 veces que introduzca el nombre y el teléfono. Con esos 5 nombres es con los que quiero crear el array para después ordenarlo y no hay manera.

1
2
3
4
5
for(i=0;i<total;i++)
{do{var nom = prompt("introduce el nombre del contacto");
 if(!isNaN(nom)){alert("introduce un nombre válido");}else{document.write("<br>"+(i+1)+" "+nom)}}while(!isNaN(nom))
 do{var telefon = prompt("introduce el teléfono");
 if(isNaN(telefon)|| telefon.length<9 || telefon.length>9){alert("introduce un número de 9 digitos");}else{document.write(" "+telefon)}}while(isNaN(telefon)|| telefon.length<9 || telefon.length>9)}

//3.-Quiero crear un array en el que cada uno de los nombres introducidos sea una variable para después ordenaros con sort. El problema es que el array se crea con los datos introducidos en un mismo prompt. Es decir, si yo introduzco 6 nombres diferentes en un mismo prompt, me los ordena alfabéticamente, pero no es esto lo que quiero. Lo que quiero es que si yo digo que hay un total de 5 contactos y el programa me pide a través de 5 prompts que introduzca los nombres, estos 5 nombres introducidos en prompts diferentes son los que quiero ordenar.

1
2
3
var newArray=nom.split(" ")
var ordenar=prompt("Quieres ordenar la agenda alfabéticamente?");
if(ordenar=="Si"){document.write(newArray.sort())}else{alert("fin")}
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 xve

Ordenar listado alfabéticamente

Publicado por xve (1595 intervenciones) el 13/04/2014 19:44:25
Hola Maribel, cuesta un montón entender tu código al estar todo en una sola linea...;(

segun veo, la variable "nom" siempre tiene el ultimo valor, no es un array de nombres...

Cada vez que añada un nombre, yo lo añadiría a un array... algo así:
[url]arrayNombre.push(nom);[/url]

Y luego ordenes el array arrayNombre.sort();

espero que te sirva... siento no entender tu código muy bien...
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 listado alfabéticamente

Publicado por Xesca (1 intervención) el 16/04/2014 18:39:34
sólo tienes una instruccion mal
if(ordenar=="Si"){document.write(newArray.sort())}else{alert("fin")}
tiene que decir
ordenar="si"
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