AlexBausW: Array sortieren

Beitrag lesen

Hallo,

[Array sort()ieren]

var data = new Array();

//#####################Enter your values here##################################################################################

Hast Du das Skript geschrieben?

data[0] = new Array();

data[1] = new Array();

data[2] = new Array();

data[3] = new Array();

data=data.sort();
return data;

Hier sortierst Du das Array data, welches in jedem Element ein Array enthält. Wenn jetzt also der Inhalt der Elemente in eine Zeichenkette umgewandelt wird, dann sind vermutlich alle Elemente gleichwertig, weil sie ein Object Array() enthalten.
Im Prinzip müsstest Du sort() (wie in <selfhtml.teamone.de/javascript/objekte/array.htm#sort> beschrieben) eine Vergleichsroutine übergeben, in der Du die Inhalte des assoziativen Arrays miteinander vergleichst.
Folgendes Beispiel funktioniert zumindes im NN4.7 (sollte also auch in allen anderen Browsern gehen).

var c    = new Array();
  c[0] = new Array();
  c[0]["a"] = "c";
  c[1] = new Array();
  c[1]["a"] = "b";
  c[2] = new Array();
  c[2]["a"] = "d";
  c[3] = new Array();
  c[3]["a"] = "f";
  c[4] = new Array();
  c[4]["a"] = "e";
  c[5] = new Array();
  c[5]["a"] = "a";

function compare (a,b) {
 if ( a["a"] >  b["a"] ) return  1;
 if ( a["a"] == b["a"] ) return  0;
 if ( a["a"] <  b["a"] ) return -1;
}

c.sort(compare);

for (i = 0; i < c.length; i++) {
 document.writeln(c[i]["a"] + "<br>");
}

Gruß Alex

--
http://www.google.de/search?hl=de&safe=off&q=Rechtschreibung+Standart
ss:) zu:} ls:} fo:| de:[ va:| ch:| sh:( n4:& rl:° br:& js:| ie:| fl:| mo:}