gpt4 book ai didi

arrays - 排序数组的问题

转载 作者:搜寻专家 更新时间:2023-11-01 06:41:44 26 4
gpt4 key购买 nike

我正在尝试对用于填充 TableView 的数组进行排序。

我的数据结构如下:

var data = [[Double:String]]()

例如:[[1450051409873:“foo”],[1450051409874:“bar”],[1450051409875:“baz”]]

我希望我的数据按 double 值排序(即 1450051409873...)

我正在执行以下操作来对我的数据进行排序:data.sortInPlace({$0[0] > $1[0]})

这似乎不起作用。

最佳答案

那是字典,不是数组。如果您想访问按键排序的值,您可以创建一个排序的键数组,然后一次访问一个值:

var data: [Double:String] = [1450051409873: "foo", 1450051409874: "bar", 1450051409875: "baz"]
var sortedKeys = data.keys.sort()
for key in sortedKeys {
print(data[key]!)
}
// foo
// bar
// baz

或者您可以通过为 sort 提供闭包来直接计算排序值:

var sortedValues = data.sort({ lhs, rhs in
lhs.0 < rhs.0
}).map({ $0.1 })
// sortedValues == ["foo", "bar", "baz"]

关于arrays - 排序数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34343250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com