Как отсортировать массив с датами в swift 4.2?

Пользователь

от greyson , в категории: Swift , год назад

Как отсортировать массив с датами в swift 4.2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jose , год назад

@greyson 

Для сортировки массива с датами в Swift 4.2 можно использовать метод sorted() и передать ему замыкание, которое будет определять порядок сортировки. Пример:

1
2
3
4
5
6
7
8
9
let dates = ["2019-01-01", "2018-12-31", "2019-02-15", "2019-03-01", "2018-11-15"]
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let sortedDates = dates.sorted { date1, date2 in
    let date1Obj = dateFormatter.date(from: date1)!
    let date2Obj = dateFormatter.date(from: date2)!
    return date1Obj < date2Obj
}
print(sortedDates)


Этот код создает массив строковых дат и использует DateFormatter, чтобы преобразовать их в объекты Date. Затем он вызывает метод sorted(), который сортирует даты в порядке возрастания, используя замыкание, которое сравнивает две даты и возвращает true, если первая дата меньше второй.


В результате выполнения этого кода будет выведен отсортированный массив:

1
["2018-11-15", "2018-12-31", "2019-01-01", "2019-02-15", "2019-03-01"]