2012-03-25 10 views
0

Ich habe diesen Code:Sortierung Array AS3 - Teil 2

var a:Array = [ "Ramsey", "Tusey", "Iuser","Sephora",'user', 'reseo', 'nesey', 'sela'] 

a.sort(sortF) 

Wie wäre sortF (Sortierfunktion) für Wörter zu sortieren, die "s" oder "S" in seinem Index 0 (nach vorne bringen haben), und dann mit diesem neuen Array Disposition wieder sortieren (alle Array einschließlich der Wörter, die nicht 's' oder "S" in seinem Index 0) alphanumerisch Groß-und Kleinschreibung nicht, aber die Wörter, die "s" in seinem Index haben 0 vorne, aber in alphanumerischer Reihenfolge.

Danke.

Antwort

1
var sthis:Array = [ "Ramsey", "Tusey", "Iuser","Sephora",'user', 'reseo', 'nesey', 'sela']; 

function sortfor(sa:Array,s:String):Array{ 
     s=s.toLowerCase(); 
     var firstpart:Array = new Array(); 
     var secondpart:Array = new Array(); 
     for each (var el in sa) { 
      if(el.toLowerCase().indexOf(s)==0){ 
       firstpart.push(el); 
      }else{ 
       secondpart.push(el); 
      } 
     } 
     firstpart.sort(); 
     return firstpart.concat(secondpart); 
} 

trace(sortfor(sthis,"se"));