Steffen Gerlach: Multidimensionale Artrays Sortieren

Beitrag lesen

Hallo Knut.

Wenn Du Deine Daten sauber strukturierst, sollte sich das Problem von ganz alleine lösen. Du hast Deine Liste mit mehreren Arrays modelliert, eigentlich ist es aber nur _eine_ Liste. Die einzelnen Spalten sind nur verschiedene Eigenschaften eines Objektes. Wenn Du das auch so implementierst, kannst Du mit einem Funktionsaufruf korrekt sortieren. Etwa so:

function Person(Name,Geburtstag,Telefon)
{
this.Name = Name;
this.Geburtstag = Geburtstag;
this.Telefon = Telefon;
}

function nachName(a,b)
{
if(a.Name<b.Name) return -1;
else if(a.Name>b.Name) return 1;
else return 0
}

...

var a = new Array(4);
a[0] = new Person('Hans','21.08.64',8669543);
a[1] = new Person('Peter','02.10.67',4665767);
a[2] = new Person('Detlef','03.04.67',1124356);
a[3] = new Person('Klaus','10.09.66',8878908);

a.sort(nachName);

...

Gruß
Steffen