我正在尝试将Swift中的int数组从大到小排序。我使用的代码是:

Array(data.keys).sorted(by: { $0 > $1 })

给定的数组是一个整数为1到1000的数组。结果是:
999, 998, 997 ... 991, 990, 99, 989 ... 802, 801, 800, 80, 8, 799, 798 ...

我想要的结果是:
999, 998, 997 ... 991, 990, 989 ... 802, 801, 800, 799, 798 ...

最佳答案

你的字典键是字符串而不是整数。您可以使用数字选项对这些键进行排序,如下所示:

let sorted = data.keys.sorted {
    $0.compare($1, options: .numeric) == .orderedDescending
}

07-28 02:54
查看更多