gpt4 book ai didi

swift - 根据字段名称过滤对象数组

转载 作者:搜寻专家 更新时间:2023-11-01 06:11:23 25 4
gpt4 key购买 nike

考虑一个对象 Notification,它具有以下属性:

id: String
body: String
repeats: Bool

并考虑一组Notificationnotifications:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com