要按日期对数组中的数组进行SWIFT排序,可以使用Date类型的比较函数来实现。以下是一个示例代码:
import Foundation
// 创建一个包含日期的数组
let array = [
["name": "John", "date": "2021-01-10"],
["name": "Jane", "date": "2020-12-25"],
["name": "Alice", "date": "2021-02-05"],
["name": "Bob", "date": "2021-01-01"]
]
// 定义一个函数来将日期字符串转换为Date类型
func getDateFromString(_ dateString: String) -> Date? {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter.date(from: dateString)
}
// 使用sorted函数和比较函数按日期对数组进行排序
let sortedArray = array.sorted { (item1, item2) -> Bool in
guard let date1String = item1["date"], let date2String = item2["date"] else {
return false
}
guard let date1 = getDateFromString(date1String), let date2 = getDateFromString(date2String) else {
return false
}
return date1 < date2
}
// 打印排序后的数组
print(sortedArray)
在上面的示例中,我们首先定义了一个函数getDateFromString
,它将字符串日期转换为Date类型。然后使用sorted
函数和自定义的比较函数按日期对数组进行排序。比较函数首先获取每个元素的日期字符串,并使用getDateFromString
将其转换为Date类型。然后使用Date类型的比较运算符<
来比较两个日期,并返回排序结果。最后,我们打印排序后的数组。