ios - 快速比较两个数组并删除具有不匹配的特定字段的元素

标签 ios swift

我有两个数组:

var packages = [SAPackage]()
var inappProducts = [SKProduct]()

packages 数组中的 SAPackage 对象有一个名为 sku 的字符串 var。 inappProducts 数组中的 SKProduct 对象有一个名为 productIdentifier 的字符串变量。我想要做的是删除 packages 数组中没有 sku 字符串的任何对象,该字符串与 inappProducts 数组中的任何对象 productIdentifier 字符串匹配。有什么办法吗?考虑过使用集合来查找交集但是我无法检查单个对象字段来执行此操作只是整个对象。对此的任何指示将不胜感激!

最佳答案

您可以使用此代码过滤那些“sku”存在于 inappProducts、SKProducts 中的包

let filteredPackages = packages.filter { package in
    return inappProducts.contains { product in
        product.productIdentifier == package.sku
    }
}

关于ios - 快速比较两个数组并删除具有不匹配的特定字段的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329356/

相关文章:

ios - WatchKit 模拟器不会加载应用程序

ios - 创建自定义核心基础类型。

iOS 7 不显示导航栏中搜索栏的取消按钮

ios - 开始录制视频时 Swift 文件 URL 为零

objective-c - 为什么如果在 AppDelegate 中定义了一个属性,而它在 ViewController 中不可用?

ios - 在 Facebook iOS SDK 中存储 accessToken

ios - 按需滚动不断调用

c - 使用 C/C++ 库进行 Swift 链接和构建

ios - Storyboard中的 ScrollView 不滚动

ios - POST 请求响应 400