Ios 比较swift中的两个数组,并删除不包含';不匹配
我有两个阵列:Ios 比较swift中的两个数组,并删除不包含';不匹配,ios,swift,Ios,Swift,我有两个阵列: var packages = [SAPackage]() var inappProducts = [SKProduct]() packages数组中的SAPackage对象有一个名为sku的字符串变量。inappProducts数组中的SKProduct对象有一个名为productIdentifier的字符串变量。我要做的是删除packages数组中没有sku字符串与inappProducts数组中的任何对象productIdentifier字符串匹配的任何对象。这有什么办法吗
var packages = [SAPackage]()
var inappProducts = [SKProduct]()
packages数组中的SAPackage对象有一个名为sku的字符串变量。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
}
}
您可以使用Swift的过滤功能。 这里有一个简单的例子:
let dic1 = ["bear","cat","dog","fish"]
let dic2 = ["horse","cat","dog","bird"]
let f = dic1.filter{dic2.contains($0)}
// ["cat", "dog"]
完美的我试着按照这些思路做一些事情,但没有做对。谢谢