swift2 如何在swift中对字典数组进行不区分大小写排序

7hiiyaii  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(223)

我有下面的代码,按字母升序排列字典数组。但我得到的是排序后的小写字母键值。例如,如果key有“Jast”,“rat”,“Put”,“put”,“Avi”,“Que”这样的值。我得到的输出像“Avi”,“Jast”,“Put”,“Que”,“put”,“rat”这样的值没有排序。我用了下面的代码

let sortedArray = ( 
   episode_ParticipantList as NSArray
).sortedArrayUsingDescriptors(
 [NSSortDescriptor(key: "FirstName", ascending: true)])
 as!
 [[String:AnyObject]]
htrmnn0y

htrmnn0y1#

在SWIFT 4中

responseData = responseData.sorted { ($0["firstname"] as! String).localizedCaseInsensitiveCompare($1["firstname"] as! String) == ComparisonResult.orderedAscending }
x0fgdtte

x0fgdtte2#

怎么样:

let sortedArray = episode_ParticipantList.sort{
    $0["FirstName"]?.lowercaseString < $1["FirstName"]?.lowercaseString
}

这可能会更快,但您需要测试:

import Foundation

let sortedArray = episode_ParticipantList.sort{
    $0["FirstName"]!.caseInsensitiveCompare($1["FirstName"]!) == .OrderedAscending
}

相关问题