arrays - 在 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
}
我想对此类对象的数组进行排序,以便将所有成员保留在最后。
解决方案
可以这样做以将所有成员保留在数组的末尾。其他元素保留原始顺序。
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
推荐阅读
- excel - 如何添加范围为 A1 的字符串
- android - 如何在 Jetpack Compose 的最后一个索引中启动一个lazyRow?
- angularjs - 在类型脚本中访问导航属性
- java - 服务 android java 背景 正在进行
- ios - Swift:如何使泛型代码更干净
- python - 如何在Django rest框架中只接受超过一定年龄的用户的请求
- javascript - 为什么需要点击两次才能更新状态?(React.js, React Hooks)
- ubuntu - 在ubuntu上卸载sawtooth-sdk
- java - 带有 JDK 15 的 Android Studio
- command-line - Openssl命令行:如何获取十六进制公钥的PEM,224位曲线?