Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] array ordenado con javascript

Estas en el tema de array ordenado con javascript en el foro de Javascript en Foros del Web. buenos dias . ando muy perdida con un ejercicio que me han mandado y que no se como hacerlo, estoy empezando con javascript y no ...
  #1 (permalink)  
Antiguo 15/01/2015, 05:21
 
Fecha de Ingreso: enero-2015
Mensajes: 33
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta array ordenado con javascript

buenos dias .
ando muy perdida con un ejercicio que me han mandado y que no se como hacerlo, estoy empezando con javascript y no soy profesional de los lenguajes .
el ejercicio .
haz un script que solicite numeros por pantalla hasta que introduzcamos una N que indicara el final de la secuencia de entrada de numeros, el resultado tiene que apararecer por pantalla ordenado de mayor a menor.

yo he pensado en usar un array, introducir los datos mediante prompt , añadir los numeros al array con push, y luego ordenarlos con short, se que hay que utilizar una comparacion pues los arrays se ordenan alfanumericamente.
pero no consigo enlazarlo todo.
me he bloqueado y no veo el resultado.
¿podiais ayudarme?
gracias de antemano
el codigo que tengo por ahora es este

Código:
<script type="text/javascript" > 

function ordena(a, b){ 
    return b -a; 
	//compara los numeros para ordenarlos
} 
function devuelveMayor(numConsultas){ 
    var arrNums = new Array(); 
    var num; 
    for(var i=0; i<numConsultas; i++){ 
        num = prompt((i+1)+') Introduce un número. si deseas acabar introduce N '); 
        if(!isNaN(parseInt(num))){ 
            //cambia el valor introducido para que se convierta en un numero
			arrNums[i]= parseInt(num); 
			//añadir al array el numero 
			arrNums[i]=arrNums.push(num);
			//imprimir en pantalla el total de numeros metidos 
			Document.write("total del array");
			//imprimir en pantalla el array completo 
			Document.write("los valores del array"+arrNums);
        }else{ 
		//comparacion al salir la n salga del bucle y complete el programa
		num="N"
            alert("has acabado de introducir datos"); 
            
         break; 
        } 
    } 
	//completa el programa ordenando los datos 
    document.write(arrNums.sort(ordena)[0]);     
} 
</script> 
</head> 

<body >
<!--que aparezcan en pantalla los datos ordenados--> 
Document.write("los valores del array"+arrNums);
</body> 
</html>
  #2 (permalink)  
Antiguo 15/01/2015, 11:25
Avatar de Mariano_Floyd  
Fecha de Ingreso: marzo-2013
Ubicación: Córdoba
Mensajes: 155
Antigüedad: 11 años, 8 meses
Puntos: 14
Respuesta: array ordenado con javascript

Primero, no sabes cuantos números vas a introducir, así que no deberías usar un for, si no un while que se ejecute hasta que lo ingresado sea "N", y hacer una primera carga antes del while. Segundo, guardas cada valor en un array y luego, utilizar el famoso método de la burbuja, utilizando dos "for" (ahora ya sabes cuantos elementos han ingresado). Tercero, esto debería ir en el foro de javascript no de diseño web.
  #3 (permalink)  
Antiguo 15/01/2015, 18:35
 
Fecha de Ingreso: enero-2015
Mensajes: 43
Antigüedad: 9 años, 10 meses
Puntos: 3
Respuesta: array ordenado con javascript

usa sort http://jsfiddle.net/ws1zpfbk/3/

Última edición por germangutierrez; 15/01/2015 a las 18:45
  #4 (permalink)  
Antiguo 15/01/2015, 18:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: array ordenado con javascript

buenas!

@germangutierrez,
Código:
<div id="out"></div>


var lista =[2,354,44,22,456,234]
lista.sort()

 document.getElementById('out').innerHTML=lista.join(",");
tu solución está mal implementada. el método sort de forma nativa opera por ordenación alfabética (ordenación lexicográfico). o sea, para el array [20, 134, 1111] sort produce el orden [1111, 134, 20].
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 15/01/2015, 18:47
 
Fecha de Ingreso: enero-2015
Mensajes: 43
Antigüedad: 9 años, 10 meses
Puntos: 3
Respuesta: array ordenado con javascript

gracias ya esta editado
  #6 (permalink)  
Antiguo 16/01/2015, 11:34
 
Fecha de Ingreso: enero-2015
Mensajes: 33
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: array ordenado con javascript

Sigo sin aclararme.no se lo q me estáis diciendo Lo siento. Acabo de empezar con esto. Me pierdo.

Y No sabia q hubiera foro javascrip.no lo encontré en un principio.
Pero muchas Gracias.
Y si me lo explicais para alguien q no sabe nada?
Se q tengo q hacer pero no se como������
  #7 (permalink)  
Antiguo 16/01/2015, 22:10
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: array ordenado con javascript

Puedes ordenar un array con el metodo sort()
https://developer.mozilla.org/en-US/...cts/Array/sort

El ordenamiento es con respecto al unicode, ve lo que te dijo zerokilled

Por lo que leo no es buena opcion usar sort()

Mejor haz lo que te recomienda Mariano_Floyd

Saludos
  #8 (permalink)  
Antiguo 17/01/2015, 02:43
 
Fecha de Ingreso: enero-2015
Mensajes: 33
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: array ordenado con javascript

buenos dias
sigo sin entenderlo, lo siento, ser novata, tener 45 años y una neurona muy dura no me dejan ver el resultado,
buscare mas información, aunque ya llevo 3 semanas intentando encontrar algo que me ayude. pero no lo he conseguido.
ni siquiera ser por donde empezar, si el codigo que os deje no sirve , no se como hacerlo
muchas gracias por intentarlo
saludos
merops
  #9 (permalink)  
Antiguo 17/01/2015, 07:52
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: array ordenado con javascript

se puede usar el método sort() en conjunción con una función de comparación
https://developer.mozilla.org/en-US/.../sort#Examples
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 17/01/2015, 08:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: array ordenado con javascript

Cita:
Iniciado por hackjose Ver Mensaje

Por lo que leo no es buena opcion usar sort()



Saludos
De hecho, la mejor y más sencilla opción es usar sort con una función de comparación.
Incluso es más difícil y menos eficaz implementar otras soluciones:
(Ver solución al problema 3)
http://blog.aijoona.com/2011/10/29/d...-2-soluciones/
  #11 (permalink)  
Antiguo 18/02/2015, 05:39
 
Fecha de Ingreso: enero-2015
Mensajes: 33
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: array ordenado con javascript

hola os dejo lo que he hecho
asi si funciona

Cita:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de Ordenar Array de Mayor a Menor</title>
<meta charset="utf-8">
<style type="text/css">
#call {
background: teal;
border-radius: 1em;
padding: 1em;
font-weight: bold;
text-align: center;
width: 10em;
}
</style>

<script type="text/javascript">
window.onload = function () {
document.getElementById('call').onclick = addNumber;
}

function addNumber () {
// Variable a Utilizar.
var arrNums = new Array();
var num;

// Bucle hasta que se indique una N.
while ( num != "N" ) {
num = prompt(arrNums.length + 1 + " Introduce un número. Si deseas acabar introduce N.");
if ( !isNaN(parseInt(num)) ) {
arrNums.push(num);
}
}

// Ordenando de Mayor a Menor y Mostrando.
alert( arrNums.sort(function(a, b) {return b-a}) );

}
</script>

</head>
<body>
<div id="call">Mostrar Prompt</div>
</body>
</html>

asi me lo ha dado de paso
un saludo y muchas gracias

Etiquetas: diseño-web, html, ordenado
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 12:02.