作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
考虑一个对象 Notification
,它具有以下属性:
id: String
body: String
repeats: Bool
并考虑一组Notification
,notifications
:
let notifications = [Notification(id: "1", body: "body1", repeats: false),
Notification(id: "2", body: "body2", repeats: false),
Notification(id: "3", body: "body3", repeats: true)]
如何使用高阶 filter()
函数检索与每个 id
对应的 Strings 数组?
换句话说,我想写一个 filter()
闭包,我将我的 notifications
传递给它,结果输出是:
["1", "2", "3"]
因此,我的过滤比较运算符应该是基于属性名的。这可以实现吗?
最佳答案
filter
不是合适的工具。 filter
将用于根据某些条件(例如仅重复通知)返回通知的子集。
您需要用于转换数据的 map
。
let idList = notifications.map { $0.id }
您可以根据需要组合这些。假设您想要重复通知的 ID 列表。
let ids = notifications.filter { $0.repeats }.map { $0.id }
关于swift - 根据字段名称过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385362/
概述 CentOS Stream 成立于 2019 年,是“RHEL 下一步的滚动预览”。Red Hat 首席技术官 Chris Wright 和 CentOS 社区经理 Rich Bowen 各
我有一个使用 Mesosphere DC/OS 编排选项进行配置的 Azure 容器服务 (ACS) 集群。我可以在 Marathon UI 中创建一个应用程序。 但是,当我通过 Marathon U
我是一名优秀的程序员,十分优秀!