[英]Filter two arrays Swift
我有一个空数组和两个数据数组
var resultsArray = [String]()
var array1 = ["1","2","2","3","4"]
var array2 = ["1","2","2","3","4","5","6"]
我的目标是使用array2
中与array1
不匹配的元素追加resultsArray
(示例中为“5”和“6”)。
最简单的方法是什么?
谢谢。
使用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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.