过滤两个数组Swift
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤两个数组Swift相关的知识,希望对你有一定的参考价值。
我有一个空数组和两个数据数组
var resultsArray = [String]()
var array1 = ["1","2","2","3","4"]
var array2 = ["1","2","2","3","4","5","6"]
我的目标是使用与resultsArray
不匹配的array2
元素(在示例中为“5”和“6”)附加array1
。
最简单的方法是什么?
谢谢。
答案
使用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)
如果集合包含唯一项目,请考虑使用Set
而不是Array
另一答案
var resultsArray: [String] = []
let arrayX = ["1","2","2","3","4"]
let arrayY = ["1","2","2","3","4","5","6","7"]
let setX = Set(arrayX), setY = Set(arrayY)
resultsArray.append(contentsOf: setY.subtracting(setX))
这个答案比使用过滤器更快。
另一答案
使用过滤器函数来查找两个数组中不同数量的元素
let Filter = array2.filter{!array1}
resultArray.appendContentsof(Filter)
以上是关于过滤两个数组Swift的主要内容,如果未能解决你的问题,请参考以下文章