OK, eine Lösung mit einer sort Funktion:
mit einem kleinen Fehler:
var x = [
'E258_70426_000A_10s.nc',
'E258_70426_000A_10k.nc',
'E258_70426_000A_11k.nc',
'E258_70426_000A_12k.nc',
'E258_70426_000A_11b.nc',
'E258_70426_000A_22b.nc'
];x.sort(function(a, b) {
var c1 = a.substr(18, 1);
var c2 = b.substr(18, 1);
return c1 > c2 ? 1 :
c1 < c2 ? -1 :
a > b ? 1 : // Hier war der falsche Operator
a < b ? -1 :
0;});
alert(x.join('\n'));
>
>
> Struppi.
soweit hat es erstmal geklappt, vielen dank dafür.
aber bei einer liste die wie folgt aussieht,sortiert er alles nach den buchstaben,sprich so:
ausgangsdatei:
E258\_70426\_000A\_10k.nc
E258\_70426\_000A\_10s.nc
E258\_70426\_000A\_11b.nc
E258\_70426\_000A\_11k.nc
E258\_70426\_000A\_12k.nc
E258\_70426\_000A\_22b.nc
E258\_70427\_000B\_10s.nc
E258\_70427\_000B\_11k.nc
E258\_70427\_000B\_12k.nc
E258\_70427\_000B\_20b.nc
E258\_70428\_000A\_10k.nc
E258\_70428\_000A\_10s.nc
E258\_70428\_000A\_11b.nc
E258\_70428\_000A\_11k.nc
E258\_70428\_000A\_12k.nc
E258\_70428\_000A\_22b.nc
sortierung durch x.sort()
E258\_70426\_000A\_11b.nc
E258\_70426\_000A\_22b.nc
E258\_70427\_000B\_20b.nc
E258\_70428\_000A\_11b.nc
E258\_70428\_000A\_22b.nc
E258\_70426\_000A\_10k.nc
E258\_70426\_000A\_11k.nc
E258\_70426\_000A\_12k.nc
E258\_70427\_000B\_11k.nc
E258\_70427\_000B\_12k.nc
E258\_70428\_000A\_10k.nc
E258\_70428\_000A\_11k.nc
E258\_70428\_000A\_12k.nc
E258\_70426\_000A\_10s.nc
E258\_70427\_000B\_10s.nc
E258\_70428\_000A\_10s.nc
soll-sortierung:
E258\_70426\_000A\_10s.nc
E258\_70426\_000A\_10k.nc
E258\_70426\_000A\_11k.nc
E258\_70426\_000A\_12k.nc
E258\_70426\_000A\_11b.nc
E258\_70426\_000A\_22b.nc
E258\_70427\_000B\_10s.nc
E258\_70427\_000B\_11k.nc
E258\_70427\_000B\_12k.nc
E258\_70427\_000B\_20b.nc
E258\_70428\_000A\_10s.nc
E258\_70428\_000A\_10k.nc
E258\_70428\_000A\_11k.nc
E258\_70428\_000A\_12k.nc
E258\_70428\_000A\_11b.nc
E258\_70428\_000A\_22b.nc
lg romero