首页 > 解决方案 > 在 Swift 中将特定的数组元素移动到末尾

问题描述

我有一个对象数组,比如看起来像这样的联系人

class Contact {
    var name: String
    var status: Status
    
    init(name: String, status: Status) {
        self.status = status
        self.name = name
    }
}

enum Status: String {
    case referred, invalid, member
}

我想对此类对象的数组进行排序,以便将所有成员保留在最后。

标签: arraysswiftsorting

解决方案


可以这样做以将所有成员保留在数组的末尾。其他元素保留原始顺序。

contacts.sort(by: { c1, c2 in
    c2.status == .member
})

输出

**Original array:**
Anand referred
Arti member
Abid member
Basha referred
Bumrah member
Catherine member
Cambly invalid
Faiz member
Farnades referred
Zebra member

**New Array:**
Anand referred
Basha referred
Cambly invalid
Farnades referred
Zebra member
Faiz member
Catherine member
Bumrah member
Abid member
Arti member

推荐阅读