Mehrdimensionales Array sortieren

tobee

Erfahrenes Mitglied
Ich wollte euch fragen, wie man am besten ein mehrdimensionales Array sortiert?
Die Grundlage sieht wie folgt aus:
Javascript:
<script type="text/javascript">
var data = new Array();

data[0] = new Object();
data[1] = new Object();

data[0]["id"] = '1';
data[0]["nick"] = 'Tobee';
data[0]["vorname"] = 'Tobias';
data[0]["nachname"] = 'Oberrauch';
data[0]["gesperrt"] = '0';

data[1]["id"] = '2';
data[1]["nick"] = 'root';
data[1]["vorname"] = 'Torben';
data[1]["nachname"] = 'Linus';
data[1]["gesperrt"] = '0';
</script>

Jetzt möchte ich z.B. gerne nach Vorname sortieren.
Wie stelle ich das am besten an?
 
Ich wollte euch fragen, wie man am besten ein mehrdimensionales Array sortiert?
Die Grundlage sieht wie folgt aus:
Javascript:
<script type="text/javascript">
var data = new Array();

data[0] = new Object();
data[1] = new Object();

data[0]["id"] = '1';
data[0]["nick"] = 'Tobee';
data[0]["vorname"] = 'Tobias';
data[0]["nachname"] = 'Oberrauch';
data[0]["gesperrt"] = '0';

data[1]["id"] = '2';
data[1]["nick"] = 'root';
data[1]["vorname"] = 'Torben';
data[1]["nachname"] = 'Linus';
data[1]["gesperrt"] = '0';
</script>

Jetzt möchte ich z.B. gerne nach Vorname sortieren.
Wie stelle ich das am besten an?

Code:
function sortVorname( a, b ) {
    return a[ "vorname" ] < b[ "vorname" ];
}

data.sort( sortVorname );
 
Vielen Dank OnlyFoo. JavaScript ist nicht gerade meine Stärke.
Was wäre wenn ich folgendes als Grundlage hätte:?
Javascript:
<script type="text/javascript">
var data = new Array();

data[0] = new Object();
data[1] = new Object();

data[0]["id"] = '1';
data[0]["nick"] = 'Tobee';
data[0]["vorname"] = 'Tobias';
data[0]["nachname"] = 'Oberrauch';
data[0]["gesperrt"] = '0';

data[1]["id"] = '2';
data[1]["nick"] = 'root';
data[1]["vorname"] = 'Torben';
data[1]["nachname"] = 'Linus';
data[1]["gesperrt"] = '0';

data[2]["id"] = '3';
data[2]["nick"] = 'root2';
data[2]["vorname"] = 'Torben2';
data[2]["nachname"] = 'Linus2';
data[2]["gesperrt"] = '0';

data[3]["id"] = '4';
data[3]["nick"] = 'root3';
data[3]["vorname"] = 'Torben3';
data[3]["nachname"] = 'Linus3';
data[3]["gesperrt"] = '3';
</script>
 
tobee hat gesagt.:
Vielen Dank OnlyFoo. JavaScript ist nicht gerade meine Stärke.
Was wäre wenn ich folgendes als Grundlage hätte:?
Javascript:
<script type="text/javascript">
var data = new Array();

data[0] = new Object();
data[1] = new Object();

data[0]["id"] = '1';
data[0]["nick"] = 'Tobee';
data[0]["vorname"] = 'Tobias';
data[0]["nachname"] = 'Oberrauch';
data[0]["gesperrt"] = '0';

data[1]["id"] = '2';
data[1]["nick"] = 'root';
data[1]["vorname"] = 'Torben';
data[1]["nachname"] = 'Linus';
data[1]["gesperrt"] = '0';

data[2]["id"] = '3';
data[2]["nick"] = 'root2';
data[2]["vorname"] = 'Torben2';
data[2]["nachname"] = 'Linus2';
data[2]["gesperrt"] = '0';

data[3]["id"] = '4';
data[3]["nick"] = 'root3';
data[3]["vorname"] = 'Torben3';
data[3]["nachname"] = 'Linus3';
data[3]["gesperrt"] = '3';
</script>

Naja abgesehen davon, dass du
data[2] = new Object();
data[3] = new Object();

vergessen hast bleibt alles genau so, wie ichs dir oben geschrieben hab.
 
Javascript:
function sortVorname( a, b ) {
    return a[ "vorname" ] < b[ "vorname" ];
}

data.sort( sortVorname );
Was bewirkt denn diese Funktion genau?

Bei selfHTML steht dieses Beispiel
Javascript:
function Numsort (a, b) {
  return a - b;
}
Aber ich komme nicht so mit der Beschreibung klar.
 
das sollte bewirken, dass die Funktion guckt ob Eintrag A oder Eintrag B weiter vorne kommt. Deine Funktion tut das selbe, nur für Zahlen.
 

Neue Beiträge

Zurück