Array in Swift3 sortieren

9

In meinem Code habe ich eine Struktur wie die folgende:

%Vor%

Ich erstelle jetzt ein Array von 10 Objekten mit zufälligen Namen und Zufallszahlen.

Gibt es einen einfachen Weg zu einem? a) sortiere sie alphabetisch b) sortiere sie numerisch in aufsteigender Reihenfolge

Grundsätzlich wird es ein Array wie folgt geben: %Code%. Jedes Objekt hat das Attribut [Object1, Object2, Object3] und name , und ich möchte, dass die Objekte in dieser Liste nach diesen beiden Attributen sortiert werden.

Lösung in Swift2 (mit dieser Lösung: StackOverflow) :

%Vor%

Allerdings wurde dies in Swift3 in count umbenannt, und ich werde nicht aufhören, das zu tun.

    
Narusan 14.01.2017, 08:37
quelle

3 Antworten

24

Wenn Sie alphabetisch und dann numerisch sortieren möchten, können Sie:

%Vor%

Das erzeugt:

  

["A1", "A2", "A4", "A10", "B7", "C3"]

Ich habe A10 zu Ihrem Array hinzugefügt, weil ohne sie eine einfache alphabetische Sortierung ausreichend gewesen wäre. Aber ich nehme an, Sie wollten A10 nach A4 , in diesem Fall wird der numerische Vergleich die Aufgabe für Sie übernehmen.

Sie haben das Beispiel in eine Struktur mit zwei Eigenschaften geändert. In diesem Fall können Sie Folgendes tun:

%Vor%

Oder genauer gesagt:

%Vor%

Oder

%Vor%

Beachten Sie, anstatt diese Logik in den Abschluss zu setzen, würde ich Foo konform zu Comparable machen:

%Vor%

Dadurch bleibt die Vergleichslogik im Foo -Typ gut verkapselt, wo sie hingehört.

Dann können Sie einfach Folgendes tun, um an Ort und Stelle zu sortieren:

%Vor%

Alternativ können Sie ein neues Array zurückgeben, wenn Sie das Original nicht an Ort und Stelle sortieren möchten:

%Vor%     
Rob 14.01.2017, 09:16
quelle
11
Narusan, vielleicht wird dir das helfen. Nehmen wir an, Sie haben ein Array mit Ihren Strukturobjekten namens objArray, dann können Sie es mit dem folgenden Code bestellen:

%Vor%     
ffabri 20.04.2017 07:13
quelle
3

Sie können immer noch eine Kurzschrift für sorted :

verwenden %Vor%

Obwohl weniger lesbar, imitiert es die sort -Syntax.

    
kakubei 08.06.2017 11:58
quelle

Tags und Links