Sortiere ein Array von Objekten mit Punkten, Buchstaben, Zahlen. Ich konnte nach Zahlen sortieren, aber gemischte Werte sind schwierig. Nicht sicher, ob es möglich ist, es richtig zu machen

8

Ich habe versucht, die typische Sortierfunktion und überprüft, ob das Element Zeichenfolge ist. Aber ich bekomme eine sehr seltsame Ausgabe. Versuchte mehrere verschiedene Ansätze.

%Vor%

Sollte ich localeCompare verwenden oder ist es möglich, ohne? Möchte die Ausgabe sein:

%Vor%

Würde mich über Vorschläge freuen

    
Prozrachniy 20.10.2016, 09:06
quelle

2 Antworten

3

Sie könnten die Zeichenfolge teilen und mit der Karte sortieren , während jedes Element des einen mit jedem Element des anderen verglichen wird. Wenn beide Elemente Zahlen sind, nehmen Sie den Unterschied, andernfalls geben Sie das Ergebnis von localeCompare zurück.

Bonus: Sortiere mit römischen Zahlen.

%Vor% %Vor%
    
Nina Scholz 20.10.2016, 09:49
quelle
2

Ich schlage einen ganz anderen Ansatz vor. Wir werden Ihre Strings ändern, bis sie nach localeCompare

sortierbar sind

So geht's:

%Vor%
    
user3297291 20.10.2016 10:01
quelle

Tags und Links