例如,我有两个数组,如何将它们合并在一起,但同时获取重复数组。有什么办法可以在整个合并数组中循环吗?我的阵列中有很多数据,所以我不想加载得慢。
例如:
let arrayone = ["1", "2" ,"3", "4"]
let arraytwo = ["1", "4", "5"]
如何获取变量,例如:[“ 1”,“ 4”]?
答案 0 :(得分:3)
您正在寻找Set
的{{3}}操作。您只需要将数组转换为Set
并将结果转换回String
数组。
let duplicates: [String] = Array(Set(arrayone).intersection(Set(arraytwo)))
答案 1 :(得分:2)
如果要保持与原始数组相同的顺序:
let duplicates = Set(arrayone).intersection(Set(arraytwo))
let orderedDuplicates = arraytwo.filter { duplicates.contains($0)}