swift - 我怎样才能简化这个数组过滤器表达式?

标签 swift

我需要找到包含在第一个和第二个数组中的所有对象。我有这段代码,它工作正常:

let items = catalog.items.filter({ (item) -> Bool in
                        orderItems.contains { $0.id == item.id }
                    })

但我想减少它看起来像:

catalog.items.filter{items.contains{ $0.id == first.id }}

其中 first.id - 是来自 catalog.items 的元素。我该怎么做?))

最佳答案

单行解决方案:

catalog.items.filter { item in orderItems.contains { $0.id == item.id }}

关于swift - 我怎样才能简化这个数组过滤器表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44160770/

相关文章:

swift - 使用 NSDictionaryController 和 Swift 时验证用户默认值

swift - 我们如何获得给定月份的星期日数量? ( swift )

ios - 如何在 iPhone 的自定义 UIView 上启用 UIDragInteraction

ios - GoogleMobileAds 的 undefined symbol 问题

ios - 如何设置 UIContextualAction 的圆角半径?

ios - 如何在 Swift 中使用约束为 UIView 设置动画?

ios - 选择时无法在 Collection View 中获取单元格引用

swift - unicode转义后大括号中的预期十六进制代码

ios - UIView 可以在初始化后加载另一个 Nib 吗?

ios - 用户图像未从 Firebase 存储加载