How to sort by strings a mixed pair of string and number elements in an array with Swift

1 Answer

0 votes
import Foundation

let arr = [
    "Python 4", "C 9", "C++ 5", "C# 6",
    "Java 1", "PHP 7", "Go 2"
]

func extractName(_ s: String) -> String {
    let pos = s.lastIndex(of: " ")!
    
    return String(s[..<pos])
}

let sorted = arr.sorted { a, b in
    extractName(a) < extractName(b)
}

print(sorted)



/*
run:

["C 9", "C# 6", "C++ 5", "Go 2", "Java 1", "PHP 7", "Python 4"]

*/

 



answered Jan 23 by avibootz

Related questions

...