arrays - 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”。检索此信息的功能是什么。我希望你能理解我的问题,并感谢你的回答。
解决方案
首先,array
s 用[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 array
s 而不是array。使用复数名称代替users
要返回找到的:
users.first(where: { user in user.name == "AZE" })
总结一下
users.first { $0.name == "AZE" }
推荐阅读
- javascript - 第一次编译反应应用程序的问题
- azure - 在 azure 管道输出中显示进度
- matrix - REDCap上的排名问题
- go - 删除所有 cookie
- if-statement - Java8将长接口方法拆分为单独的方法
- javascript - WebRTC 音频仅在语音上激活
- apify - 在 puppeteer 爬虫中单击按钮后如何等待 ajax 完成?
- laravel-blade - 在 Laravel 中使用 old()
- javascript - “undefined is not an object”,需要检查 allNotes 数组是否为空。如何?
- regex - 使用反向引用在正则表达式中搜索