Мне соответствуют два массива struct и два, и я пытаюсь сравнить два значения массива и вывести его в один отфильтрованный массив. Я пытался использовать фильтр, но он выдает ошибку. Я хочу сравнить идентификатор из обоихструктура и получить один единственный массив
Struct ONE
struct One {
let ID: String
let name: String
let lastName: String
}
Массив один
var oneData = [One]()
oneData = [One(ID: "1", name: "hello1", lastName: "last2"), One(ID: "1", name: "hello2", lastName: "last2"), One(ID: "2", name: "hello3", lastName: "last3"), One(ID: "3", name: "hello4", lastName: "last4")]
Struct TWO
struct Two {
let ID: String
let name2: String
let lastName2: String
}
Массив два
var twoData = [Two]()
twoData = [Two(ID: "1", name2: "hello1", lastName2: "last1"), Two(ID: "2", name2: "hello2", lastName2: "last2"), Two(ID: "3", name2: "hello3", lastName2: "last3"), Two(ID: "4", name2: "hello4", lastName2: "last4"), Two(ID: "5", name2: "hello5", lastName2: "last5")]
Мой фильтрованный массив
var mainArray = [Two]()
Код, который я использовал для фильтрации, который дает мне ошибку
mainArray = oneData.filter{ $0.ID == twoData.contains(where: $0.ID)}