2013-04-29 6 views
5

Ich habe ein Array mit dieser Struktur:Sortieren Array in aufsteigender Reihenfolge basierend auf ints und keine Strings

myArray = [ [<number>, [<string>] ], [<number>, [<string>] ], ... ]; 

Ich mag würde das Array sortieren, die Ints nach. Leider, wenn ich .sort() auf myArray aufrufen, gibt es mir ein Array nach den Strings sortiert. Wie könnte ich das lösen?

+0

Mix [Sortier Objekte in einem Array durch einen Feldwert in JavaScript] (http://stackoverflow.com/questions/1129216/sorting -objects-in-array-by-a-field-value-in-javascript) mit [sortiere ein javascript-array von zahlen] (http://stackoverflow.com/q/9438814/1048572) (nicht gefunden der genaue Betrüger von diesem) – Bergi

Antwort

6

Versuchen Sie, diese

myArray.sort(function(a,b) {return a[0]-b[0]}) 
+0

Einfach und funktionierend –

0

Um eine numerische Sortierung durchzuführen, müssen Sie beim Aufrufen der Sortiermethode eine Funktion als Argument übergeben.

var myarray=[[21,"aadfa"], [24,"ca"],[52,"aa"], [15,"ba"]] 
myarray.sort(function(a,b){return a[0] - b[0]}) 

können Sie mehr Informationen über sie auf http://www.javascriptkit.com/javatutors/arraysort.shtml

Die Funktion gibt an, ob die Zahlen auf- oder absteigend sortiert werden sollen.

Hier haben Sie weitere Beispiele http://www.w3schools.com/jsref/jsref_sort.asp

+0

Es funktioniert nicht. Trotzdem danke. –

+0

Ich habe es bearbeitet. Um es mehrdimensional zu machen. – Robert

+0

Sie taten direkt nachdem ich geantwortet habe;) – Oktav

Verwandte Themen