【发布时间】:2020-11-10 20:07:22
【问题描述】:
我有一个[Int : String] 类型的字典,我想按键排序,然后将其转换为数组。例如:
let dict : [Int : String] = [18 : "Maya", 13 : "Ori", 49 : "Mom", 21 : "Lital", 51 : "Dad"]
// After convertion:
// ["Ori", "Maya", "Lital", "Mom", "Dad"]
我该怎么做?
我只知道如何通过Array(dict.values) 将dict 转换为数组,但它并没有按照正确的顺序进行。
谢谢
【问题讨论】:
-
let sortedValuesByKeys = dict.sorted(by: { $0.key < $1.key }).map { $0.1 }应该可以解决问题。由于字典没有排序,我们对元组 (key, value) 进行排序,然后排序,然后仅获取(映射)值。
标签: arrays swift sorting dictionary