Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Account {
- let currencyCode: String
- let openDate: Date
- }
- let currencyCodes = ["RUR": 0, "USD": 1, "EUR": 2]
- func sortedAccounts(_ accounts: [Account]) -> [Account] {
- return accounts
- .sorted { first, second in
- switch first.currencyCode == second.currencyCode {
- case true:
- return first.openDate < second.openDate
- case false:
- let secondCurrency = currencyCodes[second.currencyCode] ?? Int.min
- let firstCurrency = currencyCodes[ first.currencyCode] ?? Int.max
- return firstCurrency < secondCurrency
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement