Christoph Zurnieden: Array schwierig zu sortieren

Beitrag lesen

Hi,

ich habe ein Problem mit Arrays:
Ich habe Datensätze (jeweils ein eigenes array für jeden), ungefähr so:
var datensatz_1 =new Array ("Name", "Produkt", "Betrag");

davon habe ich mindestens 10. Mit diesen Datensätzen wird nun gerechnet und gerechnet, passt auch alles.

Soviele Datensätze und die fliegen einfach so lose rum?
Näh, die sollten erstmal in eine Schachtel, also in ein Array.

Wie kann ich das Problem lösen, jemand ne Idee? Muss ich vielleicht mit mehrdimensionalen Arrays arbeiten?

Ja, ist das einfachste.

Oder gibt es eine Funktion, die sich die Position des Wertes vor der Sortierung merkt?

Man könnte sich sowas basteln (mit einem assoziativem Array oder noch komplizierter), aber ...

Das wäre wohl am besten!

... noch mehr verknotet ginge dann kaum noch.

Aber wie geht das?

Du kannst sort() eine eigene Vergleichsfunktion angeben.

Ich klau da mal das Beispiel aus Selfhtml:

function Numsort(a,b)
{ return a-b; }

var Zahlen = new Array(27,2,10,4);
Zahlen.sort();
var Zahlenlex = Zahlen.join(",");
document.write("sortierte Zahlen lexikalisch: " + Zahlenlex + "<br>");
var Zahlen2 = new Array(27,2,10,4);
Zahlen2.sort(Numsort);
var Zahlennum = Zahlen2.join(",");
document.write("sortierte Zahlen numerisch: " + Zahlennum);

Du wirst feststellen, das sich die Ausgaben unterscheiden (falls ich mich nicht vertan habe, nix getestet).

Die Syntax, um in verschachtelten (ja gut: mehrdimensionalen) Arrays ist die gleiche, wie in C.
array[2][3] für das vierte Element im drittem Element (ein Array) im Array array.

so short

Christoph Zurnieden