arrays - 在表格视图中按日期过滤数组
问题描述
我有一个这样的json
"myAlert": [{
"usa_time": "2018-04-27 10:42:45",
"vs_title": "Kenya ",
"vs_start_time": "2018-04-29 18:00:00",
"vs_end_time": "2018-04-29 18:50:00",
"vs_status": "1",
"vs_add_time": "2018-04-29 00:00:00"
}, {
"usa_time": "2018-04-27 10:42:37",
"vs_title": "Association",
"vs_start_time": "2018-04-29 14:45:00",
"vs_end_time": "2018-04-29 15:30:00",
"vs_status": "1",
"vs_add_time": "2018-04-29 00:00:00"
}, {
"usa_time": "2018-04-27 10:42:27",
"vs_title": "Negotiations ",
"vs_start_time": "2018-04-28 19:00:00",
"vs_end_time": "2018-04-28 19:45:00",
"vs_status": "1",
"vs_add_time": "2018-04-28 00:00:00"
}, {
"usa_time": "2018-04-27 10:42:27",
"vs_title": "Negotiations ",
"vs_start_time": "2018-04-28 19:00:00",
"vs_end_time": "2018-04-28 19:45:00",
"vs_status": "1",
"vs_add_time": "2018-04-28 00:00:00"
}]
我想将此数据过滤到vs_add_time
. 如果数据具有相似vs_add_time
的日期,则日期变为部分,并且具有相同日期的数据作为字典组合成日期数组。
我想将数据过滤成这种格式:
"myAlert": [
'2018-04-29': [{
"usa_time": "2018-04-27 10:42:45",
"vs_title": "Kenya ",
"vs_start_time": "2018-04-29 18:00:00",
"vs_end_time": "2018-04-29 18:50:00",
"vs_status": "1",
"vs_add_time": "2018-04-29 00:00:00"
}, {
"usa_time": "2018-04-27 10:42:41",
"vs_title": "Kiyoshi El ",
"vs_start_time": "2018-04-29 16:00:00",
"vs_end_time": "2018-04-29 17:30:00",
"vs_status": "1",
"vs_add_time": "2018-04-29 00:00:00"
}, ],
'2018-04-28': [{
"usa_time": "2018-04-27 10:42:27",
"vs_title": "Negotiations ",
"vs_start_time": "2018-04-28 19:00:00",
"vs_end_time": "2018-04-28 19:45:00",
"vs_status": "1",
"vs_add_time": "2018-04-28 00:00:00"
}, {
"usa_time": "2018-04-27 10:42:27",
"vs_title": "Negotiations ",
"vs_start_time": "2018-04-28 19:00:00",
"vs_end_time": "2018-04-28 19:45:00",
"vs_status": "1",
"vs_add_time": "2018-04-28 00:00:00"
}]
]
谁能让我走上正轨?
先感谢您
解决方案
您可以使用Dictionary(grouping:by:)
它,如:
let groupedDict = Dictionary(grouping: myAlert, by: { $0["vs_add_time"]! })
字典(分组:按:)
创建一个新字典,其键是给定闭包返回的分组,其值是返回每个键的元素的数组。
新字典的“values”位置中的数组每个都包含至少一个元素,元素的顺序与源序列相同。
推荐阅读
- r - Is there a way to export and import models rather than re-running them every session?
- javascript - 如何覆盖对象变量
- python - 在事件文本 wxpython 上按下了哪个键
- java - 'com.sun.istack.internal.SAXException2' 在做“使用 Spring 构建 REST 服务”教程时
- java - 如何为带有“-”分隔符的输入类型许可证密钥实现 EditText 的 TextWatcher?
- c# - Decoder.Convert(非)完成的条件和结果是什么
- javascript - Javascript将文本复制到剪贴板而无需单击页面加载上的任何按钮
- java - Spring:具有会话范围的 JUnit 测试:通过字段“sessionTestBean”表达的不满足的依赖关系
- mongodb - How to guarantee unique primary key with one update query
- c# - WPF Treeview绑定多个不同的列表