arrays - Resort Swift Array - 将空名称的对象移动到数组的末尾

标签 arrays swift sorting

我有一个按如下方式排序的数组:

contactsArray = unified.sorted{$0.name.localizedCaseInsensitiveCompare($1.name) == ComparisonResult.orderedAscending}

问题是我希望将带有空字符串 ex "" 的对象移动到数组的末尾。在这里寻找最有效的解决方案。

最佳答案

试试这个:

contactsArray = unified.sorted { (a, b) -> Bool in
    if a.name.isEmpty {
        return false
    } else if b.name.isEmpty {
        return true
    } else {
        return a.name.localizedCaseInsensitiveCompare(b.name) == .orderedAscending
    }
}

关于arrays - Resort Swift Array - 将空名称的对象移动到数组的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706201/

相关文章:

java - 实现动态数组的更好方法

ios - 无法使用 AlamoFire 和 SwiftyJSON 解析 JSON

java - 为什么 Java 集合框架提供两种不同的排序方式?

c++ - 指针和字符数组

c - 如何使用 int ** ptr 释放二维数组分配的内存

ios - 仅显示当前用户登录的 TableView 中的帖子

ios - 如何在 SwiftUI 中更新 TextField 的值?

c# - 为什么我的 C# 快速排序实现比 List<T>.Sort 慢得多

c++ - 如何将模式从一个数组更改为另一个数组然后再返回

JavaScript - 在用户生成的数组中查找对象