Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/04/2015, 23:57
Avatar de Dafonz
Dafonz
 
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Atasco con codigo de sorteo

Creo que te la estas complicando de mas.

Código Javascript:
Ver original
  1. var app = function() {
  2.     // inicializamos el arreglo de objetos con objeto tipo nombre, puntuacion
  3.   var jugadores = [
  4.       {
  5.           nombre: 'Juan',
  6.           puntuacion: 8
  7.       },
  8.       {
  9.           nombre: 'Pedro',
  10.           puntuacion: 6
  11.       },
  12.       {
  13.           nombre: 'Maria',
  14.           puntuacion: 7
  15.       }
  16.   ];
  17.  
  18.     // ordenamos el arreglo con una funcion que compare la propiedad puntacion
  19.    var ordenar = function() {
  20.       return jugadores.sort(function(a, b){
  21.           return a.puntuacion < b.puntuacion
  22.       });
  23.     };
  24.  
  25.     // se manda llamar al ordenar desde que se corre funcion
  26.     jugadores = ordenar();
  27.  
  28.     // se retorna objeto con 2 metodos que accesaran variables en closure para obtener datos necesarios
  29.     return {
  30.         obtenerGanador: function () {
  31.             return jugadores[0];
  32.         },
  33.         obtenerJugadoresOrdenados: function () {
  34.             return jugadores;
  35.         }
  36.     };
  37. };

Para correlo solo basta

Código Javascript:
Ver original
  1. var b = app();
  2. b.obtenerGanador() // Object {nombre: "Juan", puntuacion: 8}
  3. b.obtenerJugadoresOrdenados() //array ordenado de objetos

Puede ser que lo del closure sea de mas para alguien empezando (aunque te recomiendo que leas un poco sobre eso), pero la idea es guardar las variables en objetos y no en variables independientes y usar el mismo sort que ofrece el lenguaje solo mandandole una simple funcion custom que ordene el array.

Ahora para llenar el array si tienes algo como jugador1, puntacion1
Mejor ponles alguna clase y con un query selector agarras todo y armas el array de objects con los valores

Última edición por Dafonz; 03/04/2015 a las 00:03