Array1 = [1, 2, 3, 4, 5, 6]
Array2 = [1,5]
Run Code Online (Sandbox Code Playgroud)
我想得到:
Array1 = [2, 3, 4, 6]
Run Code Online (Sandbox Code Playgroud)
我想通过使用这样做,Set因为这些数组可能会变大.同样重要的是我要保持数组的顺序.
Mar*_*n R 11
使用第二个数组中的所有元素创建一个集合,然后过滤第一个数组以仅获取不在 集合中的元素:
let array1 = [5, 4, 1, 2, 3, 4, 1, 2]
let array2 = [1, 5]
let set2 = Set(array2)
let result = array1.filter { !set2.contains($0) }
print(result) // [4, 2, 3, 4, 2]
Run Code Online (Sandbox Code Playgroud)
这将保留第一个数组中的顺序(和重复元素).如果第二个阵列可能很大,则使用集合是有利的,因为查找更快.