ios - 按日期键对字典数组进行排序
问题描述
我有一个[[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]]]
解决方案
正如马特建议的那样,让你的模型像这样:
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 }
推荐阅读
- python - How can I resolve this SQLAlchemy error regarding SQL parameters?
- reactjs - class based to functional component react
- ruby - Ruby on Windows: `ansi.rb` get_screen_size error: in `winsize': Bad file descriptor -
(Errno::EBADF) - azure - Add hyperlinks to custom policy in Azure B2C
- testing - Is it possible to test a scenario where many distinct users are logged in simultaneously in TestCafe?
- html - 剪辑路径不禁用 :after 在 ios 上的鼠标事件
- node.js - 如何使用 Node js 后端连接和部署 React 应用程序?
- python - TensorFlow 和 PyTorch 中的模型评估异常缓慢
- android - 缺少带有 ID 的必需视图。我的错是什么?
- solr - 【Solr-8.8.2】更新父文档中的特定字段并通过查询获取整个文档