微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数组 – Swift:在数组中查找值并返回特定键

我是 swift的新手,非常感谢你的帮助..

问题:

在我未来的项目中,我很乐意在数组中查找特定的字符串,并只获取在其爱好数组中具有此值的名称.

我的例子:

struct Person {
var name: String
var hobbies:Set <String>
}

var persons: [Person]

persons = [

Person(name: "Steve",hobbies: ["PC","PS4","Gaming","Basketball"]),Person(name: "Max",hobbies: ["Gaming","XBox","cooking","PC"]),Person(name: "Julia",hobbies: ["Soccer","Tennis","Painting"])

]

var StringToSearch = "PC"

我很想得到只有爱好“PC”的名字.
如何迭代我的集合并只获取键而不是字典中的值?
谢谢!

解决方法

使用flatMap:

let result = persons.flatMap {
    $0.hobbies.contains(StringToSearch) ? $0.name : nil
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐