'Zahlen' mit mehreren Dezimalstellen sortieren

8

Ich habe eine Menge "Zahlen", die mehrere Dezimalstellen haben (also wirklich Strings). Ich möchte sie jedoch so sortieren, als wären sie Zahlen.

%Vor%

Ich möchte, dass sie nach der ersten Menge von Zahlen (vor der ersten Dezimalstelle) sortieren, dann nach der zweiten Menge, dann nach der dritten (mit der Möglichkeit, dass sie für eine vierte Menge oder mehr fortfährt). Sie sollten in dieser Reihenfolge gehen:

%Vor%

Was ist der beste Weg, dies mit JS zu tun? Ich denke, ich werde wahrscheinlich jede Zahl in ein Array aufteilen müssen, aber vielleicht gibt es einen besseren Weg. Ideen?

    
thugsb 19.11.2013, 19:31
quelle

4 Antworten

9

Ich denke, so etwas sollte den Trick machen:

%Vor%

Aktualisieren ist eine Geige

Wenn var nums = ['1.1.1', '2.6.7.3.2', '2.6.7', '2.6.7.3', '2.6.7.1', '6.4.23', '2.7']

Sortierung dieser Art = & gt; ['1.1.1','2.6.7.1','2.6.7.3.2','2.6.7','2.6.7.3','2.7','6.4.23']

    
megawac 19.11.2013, 19:37
quelle
3

Bitte Megawac: D

%Vor%

Verarbeitet eine beliebige Anzahl von Punkten:

%Vor%     
leaf 19.11.2013 19:58
quelle
2

Versuchen Sie Folgendes:

%Vor%     
leaf 19.11.2013 19:42
quelle
0

Ich ging darüber, indem ich jede Zahl in ein Array aufspaltete und dann eine mehrdimensionale Sortierung unter Verwendung einer benutzerdefinierten Sortiermethode vornahm. Folgendes habe ich:

%Vor%     
pgoldrbx 19.11.2013 20:27
quelle