Struppi: Array sortieren nach max. 2 Kriterien

Beitrag lesen

So, ich habe ein Array, das wie folgt aufgebaut ist:

array = (2|4|Test1,
         3|3|Test2,
         4|3|Test3,
         4|4|Test4)

Ist das Javascript oder was?

Struppi.

Ja, das ist JS. Habe das nur array = .... geschrieben, damit man weiß, dass das ein Array ist.

Also bla[0] = 2|4|Test1
     bla[1] = 3|3|Test2 usw.

Sorry, falls das mißverständlich rüberkam.

Dann müßte das Obige so aussehen:
var array = [
'2|4|Test1',
'3|3|Test2',
'4|3|Test3',
'4|4|Test4'
];

und sortieren kannst du es mit sort().

array.sort( mySort)

function mySort(a,b)
{
my a_split = a.split('|');
my b_split = b.split('|');

return a_split[1] == b_split[1] ?
a_split[0] - b_split[0]
: a_split[1] - b_split[1];
}

(ungetestet)

Struppi.

--
Javascript ist toll (Perl auch!)