首页 > 解决方案 > Swift - 检查一个值是否在数组中

问题描述

我有一个“用户”类型的数组,我想检查一个值是否属于某个属性类型。我的代码:

   struct User: Identifiable {
        
        var id = UUID()
        var name: String
        var age: String
    }

    var array: User = [
        User[name: "AZE", age: "10"]
        User[name: "QSD", age: "37"]
    ]

例如,我想知道“AZE”是否属于属性数组“name”。检索此信息的功能是什么。我希望你能理解我的问题,并感谢你的回答。

标签: arraysswiftxcodeswiftui

解决方案


首先,arrays 用[Type]like定义[User]

第二个init方法调用和(Arguments)like一样User(name: ,age:)

最后但并非最不重要的一点是,不要忘记数组元素之间的“,”。

所以

struct User: Identifiable {
    var id = UUID()
    var name: String
    var age: String
}

var array: [User] = [
    User(name: "AZE", age: "10"),
    User(name: "QSD", age: "37")
]

contains所以现在你可以用like检查你的元素

array.contains(where: { user in user.name == "AZE" }) // returns `true` if it is

提示

尝试 name arrays 而不是array。使用复数名称代替users


要返回找到的:

users.first(where: { user in user.name == "AZE" }) 

总结一下

users.first { $0.name == "AZE" } 

推荐阅读