Swift 字典 sorted() 方法
sorted()
方法可以按照键或值以特定顺序(升序或降序)对字典进行排序。
示例
let age = ["Ranjit": 1930, "Sabby": 2008]
// 按键升序排序字典
let sortAge = age.sorted(by: <)
print(sortAge)
// 输出: [(key: "Ranjit", value: 1930), (key: "Sabby", value: 2008)]
sorted() 语法
字典 sorted()
方法的语法如下:
dictionary.sorted(by: {operator})
这里,dictionary
是 dictionary
类的对象。
sorted() 参数
sorted()
方法可以接受一个参数:
- operator(可选) - 一个接受条件并返回 Bool 值的闭包。
注意: 如果我们传递大于号运算符 >
,则字典将按降序排序。
sorted() 返回值
sorted()
方法返回一个元组的数组。
示例 1:Swift 字典 sorted()
var info = ["Carlos": 1999, "Nelson": 1987]
// 按键降序排序字典
let sortInfo = info.sorted(by: >)
print(sortInfo)
输出
[(key: "Nelson", value: 1987), (key: "Carlos", value: 1999)]
在上面的示例中,我们可以看到 info
字典按照字符串的升序键排序。例如,"Carlos" 在 "Nelson" 之前,因为 "C" 在 "N" 之前。
示例 2:通过传递闭包进行排序
var info = ["Carlos": 1999, "Nelson": 1987]
// 按值升序排序字典
let sortInfo = info.sorted(by: { $0.value < $1.value })
print(sortInfo)
输 出
[(key: "Nelson", value: 1987), (key: "Carlos", value: 1999)]