过滤两个数组Swift

Dav*_*son 2 arrays filter ios swift

我有一个空数组和两个数据数组

var resultsArray = [String]()

var array1 = ["1","2","2","3","4"]
var array2 = ["1","2","2","3","4","5","6"]
Run Code Online (Sandbox Code Playgroud)

我的目标是附加不匹配resultsArray的元素(示例中为"5"和"6").array2array1

最简单的方法是什么?

谢谢.

vad*_*ian 19

使用该filter功能

var resultsArray = [String]()

let array1 = ["1","2","2","3","4"]
let array2 = ["1","2","2","3","4","5","6"]

let filteredArray = array2.filter{ !array1.contains($0) }

resultsArray.appendContentsOf(filteredArray)
Run Code Online (Sandbox Code Playgroud)

如果集合包含唯一的项目,请考虑使用Set而不是Array

  • 应该注意的是,这具有O(n ^ 2)的计算复杂度,并且如果阵列变大则可能不必要地慢.考虑使用Set而不是`contains`方法是O(1)而不是O(n) (3认同)