如何搜索Set
以获得以下结果?
let brands: Set = ["apple", "microsoft", "hp", "lenovo", "asus", "qualcomm", "intel", "kingston"]
findValueinSet(brands, withCharacters: "a", "u") // returns "asus"
最佳答案
您可以使用
过滤集合和数组filter(setOrArray, predicate)
两种情况下的结果都是一个数组。是否所有字符 一个给定的集合包含在一个字符串中可以用
来确定searchCharacters.isSubsetOf(string)
一起:
let brands: Set<String> = ["apple", "microsoft", "hp", "lenovo", "asus", "qualcomm", "intel", "kingston"]
let searchCharacters = Set("au")
let filtered = filter(brands) { searchCharacters.isSubsetOf($0) }
println(filtered) // [qualcomm, asus]
如果 brands
是数组或一组 String
,则此方法有效。
备注:您不应该定义一个包含 68k 元素的文字数组 在 Swift 源代码中。最好使用资源文件(一个简单的文本 文件或属性列表)并在运行时从那里加载数组。
关于ios - 如何搜索包含集合中某些字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30426403/