Sunt în situația în care am următorii vectori:
let array1: [String] = [“Diana”, “Cornel”, “Andrei”, “Stefan”, “Traian”]
let array2: [Int] = [1, 0, 2, 0, 3]
Vreau să ordonez lexicografic array1 și implicit pe cel de-al doilea care e dependență al celui dintâi – array2.
1. Combin cei doi vectori într-un vector cu zip:
let combined = zip(array1, array2).sorted {$0.0 < $1.0}
print(combined) // “[(“Andrei”, 2), (“Cornel”, 0), (“Diana”, 1), (“Stefan”, 0), (“Traian”, 3)]”
2. După ce am ordonat acest vector, extrag cei doi vectori cu map:
let sorted1 = combined.map {$0.0}
let sorted2 = combined.map {$0.1}
print(sorted1) // “[“Andrei”, “Cornel”, “Diana”, “Stefan”, “Traian”]”
print(sorted2) // “[2, 0, 1, 0, 3]”