swift按固定值对字典数组进行排序



我有一个类似的数组

@Published var allGroup: [GroupModel] = [
GroupModel(id: UUID().uuidString, groupId: "", groupName: "Personale", subscribers: [], groupCurrency: "", groupCreatedBy: "", groupCreditCards: [], creationDate: Timestamp(date: Date.now), groupColorRed: 0, groupColorBlu: 0, groupColorGreen: 0),
GroupModel(id: UUID().uuidString, groupId: "", groupName: "Famiglia", subscribers: [], groupCurrency: "", groupCreatedBy: "", groupCreditCards: [], creationDate: Timestamp(date: Date.now), groupColorRed: 0, groupColorBlu: 0, groupColorGreen: 0)
]

我想排序并将名为Famiglia 的组作为数组的第一项

我试过这样做,但给了我错误:因为在循环中需要"GroupModel"符合"Sequence">

func sortGroupList(groups: [GroupModel]) -> [GroupModel] {

var startGroups = groups
for group in startGroups {
for groupName in group {
if groupName.value == "Famiglia" {
startGroups.removeAll(where: { $0 == group })
startGroups.insert(group, at: 0)
}
}
}
}

如何可能做到这一点?感谢

你可以试试这个:

func sortGroupList(groups: [GroupModel]) -> [GroupModel] {
return groups.sorted(by: { first, _ in
first.groupName == "Famiglia"
})
}

并像这样使用:

var result = sortGroupList(groups: allGroup)
print("n---> result: (result)")

最新更新