Skip to main content
 首页 » 操作系统

arrays之以字符串格式对包含日期的数组进行排序

2024年01月01日37xiaohuochai

我有一个这样的数组:

["Novembre", "Mars", "Décembre", "Octobre", "Février", "Janvier"] 

我怎样才能对它进行排序,使其变成:

["Décembre", "Novembre", "Octobre", "Mars", "Février", "Janvier"] 

请您参考如下方法:

几乎相同,但按规则生成字典肯定比必须自己键入月份名称和数字更好:

var names:[String] = [] 
if let cal = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian) { 
    cal.locale = NSLocale(localeIdentifier: "fr") 
    names = cal.monthSymbols as [String] 
} 
var months : [String:Int] = [:] 
for (ix,name) in enumerate(names) { 
    months[name] = ix 
} 
// now we are ready 
let data = ["Novembre", "Mars", "Décembre", "Octobre", "Février", "Janvier"] 
let result = data.sorted {months[$0.lowercaseString] > months[$1.lowercaseString]}