对键未知的字典数组进行排序

康诺沃

我有一组类型为 的字典[[String:SchoolModel]]键是学校的 id,然后学校模型包含有关学校的信息,例如其名称。我想按 SchoolModel.name 对这个数组进行排序,但无法弄清楚如何因为我的键是数组中每个元素的唯一 ID。

struct SchoolModel {
   var name: String
   var city: String
   var state: String
}
卡拉姆

您可以访问迭代的每个字典的第一个值以获取名称。

struct SchoolModel {
    var name: String
    var city: String
    var state: String
}

let schools: [[String:SchoolModel]] = [
    ["1": SchoolModel(name: "1", city: "a", state: "x")],
    ["2": SchoolModel(name: "2", city: "b", state: "y")],
    ["3": SchoolModel(name: "3", city: "c", state: "z")]
]

print(schools.sorted {
    guard
        let a = $0.values.first?.name,
        let b = $1.values.first?.name else { return false }

    return a < b
})

但是,您应该考虑向id结构中添加属性。您可以将其设为可选,以便您仍然可以启动SchoolModel尚未创建的 a。

struct SchoolModel {
    var id: String?
    var name: String
    var city: String
    var state: String
}

然后,无论您在何处填充字典数组,都可以追加SchoolModel对象而不将其嵌入字典中,从而生成类型为 的数组[SchoolModel]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按特定键的值对数组中的字典进行排序

来自分类Dev

对字典中的键进行排序

来自分类Dev

按字典键的整数对字典进行排序

来自分类Dev

如何对字典数组进行排序

来自分类Dev

字典中的字典,按嵌套键对字典进行排序

来自分类Dev

根据键对字典列表进行排序

来自分类Dev

按自然顺序对字典键进行排序

来自分类Dev

跨多个字典对键进行排序

来自分类Dev

按自然顺序对字典键进行排序

来自分类Dev

在字典键中对列表进行排序

来自分类Dev

根据不同的值对字典的键进行排序

来自分类Dev

按多个键对字典进行排序

来自分类Dev

使用 ArrayList 对字典键进行排序

来自分类Dev

根据单独的数组对字典数组进行排序?

来自分类Dev

基于字典键的数组排序:快速值

来自分类Dev

以任意顺序对键进行排序并保留未知键

来自分类Dev

在Swift 5.1中,基于日期类型的字典值对字典数组进行排序,而又不知道键。

来自分类Dev

在Swift中对字典数组进行排序

来自分类Dev

按键值对字典的Swift数组进行排序

来自分类Dev

如何按键对Swift字典数组进行排序

来自分类Dev

在Swift 2中对字典数组进行排序

来自分类Dev

按值对具有未知键的地图进行排序

来自分类Dev

如何对以日期为键的数组进行排序?

来自分类Dev

根据与数组匹配的键对哈希进行排序

来自分类Dev

使用数组键进行安全排序

来自分类Dev

如果存在键,则按键对python字典列表进行排序

来自分类Dev

jinja2:按定义的键顺序对字典进行排序?

来自分类Dev

根据C#中的键对字典列表进行排序

来自分类Dev

Python:以日期时间为键对嵌套字典进行排序

Related 相关文章

热门标签

归档