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

时间:2020-11-06 00:09:52

标签: ios swift

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

使用Swift执行此操作最有效的方法是什么?我已经在使用NSSortDescriptor之前完成了此操作,但这是在使用键/值对进行排序时进行的。我以前还没有按实际的密钥进行排序。

示例数据:

[[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]]]

2 个答案:

答案 0 :(得分:1)

按照马特的建议,使模型如下:

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 }

答案 1 :(得分:-1)

如邓肯所建议: 第一:解析所需数据 第二:将数据设置为数组的dateStruct,您可以使用该数组执行操作。