2016-08-01 13 views
2

Ich bin auf der Suche nach etwas in Richtung der Kombination von zwei Arrays verschiedener Typen. Ich versuche, so etwas wie dieseKombinieren von zwei Arrays und Sortieren der Arrays Swift

var alphabet = [b,c,a,e,f,d] 
var numbers = [2,3,1,5,6,4] 

zu tun, wie Sie sehen können, im Wesentlichen die Zahlen und Buchstaben bereits miteinander oben in der Liste entsprechen, sind sie nur fehl am Platz.

Ich möchte es die Buchstaben und Zahlen, um ausspucken wie

[(a,1)(b,2)(c,3)(d,4)(e,5)(f,6)] 

ich die Hilfe schätzen würde, Danke

Antwort

5
  • zip die beiden Arrays, dass Sie eine Reihe von gibt Tupel (Paare) [(b, 2), (c, 3), ... ].
  • sortieren, die Anordnung von Tupeln in Bezug auf die erste Komponente:

Swift 2 Code:

let result = zip(alphabet, numbers).sort { $0.0 < $1.0 } 
print(result) // [("a", 1), ("b", 2), ("c", 3), ("d", 4), ("e", 5), ("f", 6)] 

Für Swift 3,sort durch sorted ersetzen.