合并两个数组,并在变量中获取重复项

时间:2018-08-15 08:40:26

标签: swift

例如,我有两个数组,如何将它们合并在一起,但同时获取重复数组。有什么办法可以在整个合并数组中循环吗?我的阵列中有很多数据,所以我不想加载得慢。

例如:

let arrayone = ["1", "2" ,"3", "4"]
let arraytwo = ["1", "4", "5"]

如何获取变量,例如:[“ 1”,“ 4”]?

2 个答案:

答案 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)}