ios - 按原始顺序获取数组中字典的键

标签 ios swift dictionary

假设我有一本字典

let dict = [
    "Joe":"D.",
    "Ben":"K.",
    "Kyle":"R.",
    "Matt":"L."
]

如果我想要这个字典的键数组,我会这样做:

let keys = Array(dict.keys)

但这以看似随机的顺序打印:

["Ben", "Joe", "Matt", "Kyle"]

有没有办法得到一个与原始字典具有相同顺序的键数组?

["Joe", "Ben", "Kyle", "Matt"]

最佳答案

字典没有顺序。当我们向字典添加新元素时,我们现在没有顺序。您可以使用元组数组

        let array = [("Joe", "D."), ("Ben", "K."), ("Kyle", "R.")]
        print(array)
//        [("Joe", "D."), ("Ben", "K."), ("Kyle", "R.")]
        let keys = array.map { $0.0 }
        print(keys)
//        ["Joe", "Ben", "Kyle"]

关于ios - 按原始顺序获取数组中字典的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38929062/

相关文章:

ios - UITableView 在快速滚动期间卡住

python - 比较并返回字典字符串值?

c++ - 不可复制的对象、映射和 shared_ptr : error in the copy constructor

ios - 我如何获得两个日期之间的日差?

ios - 我无法再在我的设备上测试我的应用程序

导航 Controller 转换上的 iOS 黑线

ios - 如何创建在安装应用程序时添加的初始 Realm 对象

ios - 当我用 UIView 覆盖所有屏幕时,如何用 UIView 覆盖 UIStatusBar? (iPhone)

ios - 无法从 Parse.com iOS 中的用户类返回对象

c# - 将项目添加到字典会导致 NullReferenceException