Zapp: Blitztabelle sortieren und wiedergeben

Beitrag lesen

Hallo Freddy,

Ich möchte nun eine Blitztabelle einbauen, die nach einem Klick auf den Button in eine Textarea eine Tabelle mit Platz, Teamname, Punkte, (Gegen-)Tore und Differenz wiedergibt. Ich habe schon so eine Ahnung, dass ich da am Besten irgendwas mit Arrays mache. Allerdings weiß ich nicht genau, wie.

Das würde ich mit einem zweidimensionalen Array machen. Vielleicht so:

var Tabelle=new Array();
for(var i=0;i<anzahl_teams;i++)
{
  Tabelle[i]=new Array();
  Tabelle[i][0]=Teamname;
  Tabelle[i][1]=Punkte;
  ...
  ...
}

Das Array "Tabelle" kannst du dann sortieren, so wie du willst, indem du z.B. erst die zweiten Elemente vergleichst, und bei Gleichheit dann die dritten Elemente dazunimmst usw., die Sortierfunktion kannst du dir nämlich selber schreiben.

Tabelle.sort(mySortFunc);

function mySortFunc(a,b)
{
  if(a[1]>b[1])
    return 1;
  else if(a[1]<b[1])
    return -1;

else if(a[2]>b[2])
    return 1;
  else if(a[2]<b[2])
    return -1;

else
    return 0;
}

... so in der Art (eigentlich könnte man das viel kürzer schreiben). Die Sortierfunktion muss immer einen Wert zurückgeben; ist er positiv, wird a vor b eingeordnet usw. ...
Am Ende kannst du die neu sortierte Tabelle mit einer for-Schleife in eine Textarea oder sonstwohin ausgeben.

Grüße, Stefan