如何在 Swift iOS 中比较两个数组并从一个数组中删除匹配的元素

lak*_*hmi 1 arrays ios swift

我有两个数组。

let array1 = ["Lahari", "Vijayasri"];
let array2 = ["Lahari", "Vijayasri", "Ramya", "Keerthi"];
Run Code Online (Sandbox Code Playgroud)

我想删除 array2 中的 array1 元素并打印最终的类似数组

result array = ["Ramya", "Keerthi"]
Run Code Online (Sandbox Code Playgroud)

Pau*_*w11 7

将数组转换为Sets 并使用subtract是一种简单有效的方法:

let array1 = ["Lahari", "Vijayasri"]
let array2 = ["Lahari", "Vijayasri", "Ramya", "Keerthi"]

let resultArray = Array(Set(array2).subtracting(Set(array1)))
Run Code Online (Sandbox Code Playgroud)

如果保持顺序array2很重要,那么您可以使用filter一组 -

let compareSet = Set(array1)

let resultArray = array2.filter { !compareSet.contains($0) }
Run Code Online (Sandbox Code Playgroud)