Konrad Mathieu: sort() mit mehrdimensionale Arrays

Beitrag lesen

Ich muss mehrere Strings nach einer darin enthaltenen Zahl sortieren. Ich zerlege und speichere sie dazu in einem mehrdimensionalen Array, um das anschließend zu sortieren.

Also quasi so:

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

var test = new Array();
test[0] = new Array(); test[0] = ('asdf', 'acht', 'acht', '8');
test[1] = new Array(); test[1] = ('wqerwr', 'sieben', 'sieben', '7');
test[2] = new Array(); test[2] = ('fsdgf', 'zwei', 'zwei', '0');

test.sort(numSort);

for(i=0;i<5;i++) {
  alert(test[i]);
}

.. und alles ist schön nach der letzten Zahl sortiert.

Wenn ich aber Schritt 1 stattdessen per Schleife durchführe:

for(i=0;i<test.length;i++) {
 test[i]=new Array();
 test[i]=someOtherArray[i].split('#');
}

..läuft es nicht weil "Zahl erwartet" von numSort.

Ist denn wohl:

test[0] = ('foo', 'bar');

was anderes als:

someVar = 'foo#bar';
test[0] = someVar.split('#');

??

Oder kann man Strings evt. auch eleganter / effektiver sortieren?

Bin heute schon zu lange dran und mir käst das Hirn, bin für Hilfe oder Denkanstöße dankbar,
Viele Grüße,
Konrad