ios - 如何在 NSMutableArray 中对对象进行分组并在 Objective-C 中划分为单独的 NSMutableArray
问题描述
我有这样的 NSMutableArray:
// NSMutableArray *Data = (NSMUtableArray(NSDictionary))
Data = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.03"},
{"Device": "A2", "Temperature": "25", "datetime": "2013.02.03"},
{"Device": "A3", "Temperature": "25", "datetime": "2013.02.03"},
{"Device": "A1", "Temperature": "25", "datetime": "2013.02.04"},
{"Device": "A2", "Temperature": "25", "datetime": "2013.02.04"}.
如何按照“日期时间”将其分解并分组为单独的 NSMutableArray。如上案例将分为:
Data_d1 = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.03"},
{"Device": "A2", "Temperature": "25", "datetime": "2013.02.03"},
{"Device": "A3", "Temperature": "25", "datetime": "2013.02.03"}
和
Data_d2 = {"Device": "A1", "Temperature": "25", "datetime": "2013.02.04"},
{"Device": "A2", "Temperature": "25", "datetime": "2013.02.04"}
解决方案
您可以使用以下代码实现它:
let data:[[String: String]] = [ ["Device": "A1", "Temperature": "25", "datetime": "2013.02.03"], ["Device": "A2", "Temperature": "25", "datetime": "2013.02.03"], ["Device": "A3", "Temperature": "25", "datetime": "2013.02.03"], ["Device": "A1", "Temperature": "25", "datetime": "2013.02.04"], ["Device": "A2", "Temperature": "25", "datetime": "2013.02.04"]] let dateTimeArray = data.compactMap({ $0["datetime"] }) let uniqueDateTimeArray = Array(Set(dateTimeArray)) var desiredSeparatedArray = [[[String: String]]]() for dateTime in uniqueDateTimeArray { var arrayForDateTime = [[String: String]]() for element in data { if element["datetime"] == dateTime { arrayForItem.append(element) } } desiredSeparatedArray.append(arrayForDateTime) }
最后desiredSeparatedArray
就是答案!!
推荐阅读
- node.js - how can get unique url for each post in node js
- zend-db - Laminas Framework DB Adapter 是否会自动剥离标签等,如 mysqli_real_escape_string?
- sublimetext3 - Sublime Text 3 切换侧边栏快捷方式
- ansible - Ansible - 避免组和主机变量之间的重复
- javascript - 单击清除按钮时删除表单输入字段
- python - 通过遍历字符串列表获取字符串
- sql-server - 尝试将带有子查询的 CHECK 转换为 SQL 中的函数时出现问题
- git - 如何从一个分支到另一个分支进行 git 复制合并
- openapi - Swagger 编辑器如何指定请求正文(POST)中的哪些字段是必需的?
- algorithm - 检查第 n 个根是否无理的最快算法