arrays - Swift:数组排序未正确完成

标签 arrays sorting swift

我正在使用它在 Swift 中对数组中的组件进行排序:

myArray = myArray.sorted { $0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }

但是,它给了我以下结果:

[18C, 18L, 18R, 22, 24, 27, 36C, 36L, 36R, 4, 6, 9]

是否有可能以正确的方式对其进行排序,即

[4, 6, 9, 18C, 18L, 18R, 22, 24, 27, 36C, 36L, 36R]

最佳答案

您可以将 compare.NumericSearch 一起使用:

array.sortInPlace { $0.compare($1, options: .NumericSearch) == .OrderedAscending }

let array2 = array.sort { $0.compare($1, options: .NumericSearch) == .OrderedAscending }

关于arrays - Swift:数组排序未正确完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26954029/

相关文章:

iOS swift : Filter array to unique items

php - 如何通过另一个数组的值访问数组值

java - 程序以按插入频率排序的方式打印字符串

ios - Date() 返回 24 小时以上的小时

javascript - JS中如何将Object设置在Array之前?

javascript - 如何按对象的键对对象中的事件实例数据进行排序?

java - 根据计算值对数组进行排序

arrays - 使用 core-data 从初始化器中的字符串数组中减去 Stings?

ios - 如何知道用户在推送通知中点击了 "Don' t 允许”

php - 在 PHP 中初始化(空)数组的最佳方法