Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/04/2010, 11:12
gorani
 
Fecha de Ingreso: febrero-2010
Ubicación: Bizkaia
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: arrays vs objetos

Muchas gracias Panino5001, tus explicaciones me han sido de mucha utlidad, he modificado un poco el código para adaptarlo a mis necesisades y tengo casi acabado el proyecto, también me ha sido de utilidad el descubrir el JSON editor que ayuda a localizar errores al crear objetos JSON, cosa muy fácil, una coma que te olvides y te puedes volver loco para localizar el error, no sabes si el error está en el objeto, en una función etc, muy bueno el editor.

He logrado con la creación de dos objetos obtener la tabla de resultados en el segundo objeto, el problema que tengo es para ordenar los equipos por puesto, me explico:

He creado el siguiente objeto:

var equipos = [
{ 'equipo':"Equipo1",'jugados':0,'localG':0,'localE' :0,'localP':0,'visitG':0,
'visitE':0,'visitP':0,'favorG':0,'contraG':0,'punt os':0,'difer':0 },............................

asi sucesivamente inicializo el objeto equipos con todos los equipos que participan en la competición.

Por otro lado he creado el objeto jornadas que es donde introduzco los datos semanalmente:

var jornadas = {
"1J" :[
{'fecha':"31-10-2009"},
{'loc':"Equipo1", 'gloc':10, 'vis':"Equipo3", 'gvis': 4}, {'loc':"Equipo7", 'gloc': 4, 'vis':"Equipo5", 'gvis': 3}, {'loc':"Equipo2", 'gloc': 2, 'vis':"Equipo6", 'gvis': 8},
{'loc':"Equipo0", 'gloc': 3, 'vis':"Equipo4", 'gvis': 0}],............................................

Cada jornada apunto los datos de la competición, luego he creado una función que se encarga de localizar al equipo en el objeto equipos y asignarle sus datos, funciona de maravilla, como he puesto numeración en el nombre de la jornada "1J" "2J" etc puedo iterarlas y obtener losa datos de la jornada 1 a jornada X simplemente con una llamada a la función sumajornadas(18) por ejemplo, lo cual me interesa para crear en el post semanal del blog una tabla de clasificación por jornadas.

El problema que tengo es que los datos salen ordenados como en el objeto equipos, lógico, he buscado por internet funciones de ordenación pero ninguna cumple con los requisitos que a mi me hace falta, to tengo la siguiente salida de datos:

POS EQUIPO JORN GL EL PL GV EV PV GFAVOR GCONTRA PUNTOS DIFERENCIA
1 Equipo1 16 8 0 0 7 0 1 109 38 45 71
2 Equipo2 16 4 0 4 2 0 6 57 71 18 -14
3 Equipo3 16 7 0 1 5 0 3 96 42 36 54 ........

El problema como se puede apreciar es que están desordenados, necesito construir una función que pasándole el objeto equipos me lo odene en función de varios criterios que da la federación vizcaina de fútbol.

1º Por diferencia de puntos
2º Si hay empate de puntos mayor diferencia de goles entre ¿? equipos (esto lo veo muy complicado ya que yo no tengo una referencia ahora mismo para conocer estos datos)
3º Más goles a favor en la general
Quizá podría pasar por alto el segundo punto debido a su complejidad, debería de tener en el objeto una referencia de en que jornada han jugado esos equipos y el resultado y no tengo el objeto preparado para ello.

Si me podeís ayudar estaré muy agradecido, ya se que el post es muy extenso pero pienso que si no conoceís los detalles es muy difícil hacerte a la idea.

Por otro lado me interesaría saber que es más correcto, rellenar los objetos en el blog (blogger), o cargarlos desde por ejemplo GoogleDocs, yo actualmente utilizo el último sistema para cargar URL's de mapas de campos que asigno a la hora de crear las tablas de horarios con enlace a GoogleMaps y me funciona estupendamente, lo cargo como .js con los datos y las funciones, el problema puede surgir si se cae el servidor, supongo.....

Un saludo.