在swift中比较两个数组,并使用不匹配的特定字段删除元素

Kex*_*Kex 4 ios swift

我有两个数组:

var packages = [SAPackage]()
var inappProducts = [SKProduct]()
Run Code Online (Sandbox Code Playgroud)

packages数组中的SAPackage对象有一个名为sku的String var.inappProducts数组中的S.KKroduct对象具有名为productIdentifier的String var.我想要做的是删除packages数组中没有sku字符串的任何对象,该字符串与inappProducts数组中的任何对象productIdentifier字符串匹配.无论如何还有这个吗?考虑使用集合来查找交叉点,但是我不能检查单个对象字段,只执行整个对象.任何关于此的指针将不胜感激!

San*_*eep 14

您可以使用此代码过滤inappProducts,SKProducts中存在"sku"的软件包,

let filteredPackages = packages.filter { package in
    return inappProducts.contains { product in
        product.productIdentifier == package.sku
    }
}
Run Code Online (Sandbox Code Playgroud)