SWIFT 如何在不使用集合函数创建新字典的情况下对字典进行排序?

时间:2021-05-30 10:47:38

标签: swift sorting dictionary collections

我有一个作业,我必须使用集合函数对以下字典进行排序,而无需在 SWIFT 中创建新字典。这怎么可能?

这是我的字典:

var mountains:[String:Int] = ["Mount Everest":8868,  "K2":8611,  "Kangchenjunga":8586,  "Lhotse":8516,  "Makalu":8485]

目前我正在使用以下代码,但该代码生成了一个不允许的新字典。我需要对字典本身进行排序吗?

    let sortedDictDesc = mountains.sorted { $1.1 < $0.1 }

1 个答案:

答案 0 :(得分:1)

默认情况下,Swift 中无法对字典进行排序。因此,如果您对其进行排序并尝试再次检索它,它将遵循最快的路径。所以我不确定为什么你需要在不创建可排序的类型的情况下返回它。

如果你真的想对它进行排序,你有多种选择,比如元组或结构,但所有这些都需要你创建一个新属性。不过,您始终可以将山脉设置为这些不同类型之一,然后重新分配。