按日期键对字典数组进行排序



我有一个[[Date:[Double]]],我想根据元素的键(即日期(按最近到最远的日期对其进行排序。

使用Swift最有效的方法是什么?我以前使用过NSSortDDescriptor,但这是在使用键/值对进行排序时进行的。我以前没有按实际键本身进行排序。

示例数据:

[[2020-12-18 06:00:00 +0000: [475.4]], [2020-11-06 06:00:00 +0000: [427.475, 449.22]], [2020-11-06 00:09:33 +0000: [435.26, 441.605]]]

正如Matt所建议的,让你的模型像这样:

struct DateStruct {
let date: Date
let values: [Double]
}
var dateStructsArray: [DateStruct] = []
//Populate your array in whatever way makes sense

然后对其进行排序就像使用对sorted()的单个调用一样简单

您的代码可能如下所示:

let sortedDateStructs = dateStructsArray.sorted { $0.date < $1.date }

正如Duncan所建议的:第一:分析你想要的数据,第二:将数组的数据设置为dateStruct,您可以使用该数组执行某些操作。

最新更新