2-dimensionales Array nach der 2ten Spalte Ordnen
ueberarbeiteterNr.11
- javascript
Hallo,
sitze nun schon einige Stunden am Rechner und durchsuche dieses Forum/Google und komme einfach nicht weiter:
Ich will eigentlich nur ein 2-dimensionales Array zeilenweise neu anordnen, mit einem einfachen Array kein Problem ... aber ich komme nicht darauf wie ich die 2te Spalte zum Vergleich ansprechen soll. Über ein paar Tipps würde ich mich riesig freuen:)
Code:
<!--
var test = new Array(3);
for (i=0; i < 3; i=i+1){
test[i] = new Array(2);
}
test[0][0] = "es aussehen!";
test[1][0] = "So";
test[2][0] = "soll";
test[0][1] = 3;
test[1][1] = 1;
test[2][1] = 2;
var sorted = new Array(3);
for (i=0; i < 3; i=i+1){
sorted[i] = new Array(2);
}
// sorted = selectionSort(test); // hier soll test sortiert werden und in sorted gespeichert werden.
function selectionSort( a) {
var j = 0;
for (var bG = 0; bG < a.length; bG=bG+1) {
j = minIndex( a, bG);
vertausche( a, bG, j);
}}
//Hier soll die Ganze Zeile Vertauscht werden
function vertausche( a, i, j) {
var zwischenSpeicher = a[i];
a[i] = a[j];
a[j] = zwischenSpeicher;
}
// Hier werden/sollen die Zellen aus der 2. Spalte verglichen (werden)
function minIndex( a, i0) {
var i0;
var min = i0;
for (i = i0+1; i < a.length; i=i+1)
if (a[i][0] < a[min][0]) min = i;
return min;
}
//-->
Lieber ueberarbeiteterNr.11,
http://lmgtfy.com/?q=javascript+sort+2dimensional+array
Liebe Grüße,
Felix Riesterer.
gruss Ueberarbeitete Nummer Elf,
var test = [
["es aussehen!", 3],
["So", 1],
["soll", 2]
];
test; // es aussehen!,3, So,1, soll,2
condition = function (a, b) {
/*
bei den parametern [a] und [b] handelt es sich
um items eines zu sortierenden arrays.
[condition] ist eine vergleichsfunktion, die der
[link:http://de.selfhtml.org/javascript/objekte/array.htm@title=[[Array\]\]] methode [link:http://de.selfhtml.org/javascript/objekte/array.htm#sort@title=[sort\]] als parameter uebergeben
werden kann.
[sort] ruft diese methode in einem iterativen
prozess, der fuer jeden schritt zwei array-
items miteinander vergleicht, immer wieder auf,
bis das array vollstaendig sortiert ist.
ein vergleichender callback sollte immer werte
groesser als 0, kleiner als 0 oder aber 0
zurueckgeben.
*/
return (a[1] - b[1]); // zweite spalte vergleichen.
};
test.sort(condition);
test; // So,1, soll,2, es aussehen!,3
so long - peterS. - pseliger@gmx.net