快速比较两个结构的值

2023-12-04

我有两个结构体和两个与之对应的数组,我试图比较这两个数组值并将其打印在一个过滤数组中我确实尝试过使用过滤器,但它给了我一个错误我想比较结构体和获取一个数组

结构一

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 {
    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)}

如果你想过滤oneData仅那些具有匹配 ID 字段的元素twoData, 你要:

let mainArray = oneData.filter { i in twoData.contains { i.ID == $0.ID } }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速比较两个结构的值 的相关文章

随机推荐