我正在尝试执行查找数组中是否存在(字符串)元素的简单任务。 “包含”函数适用于一维数组,但不适用于二维数组。 有什么建议么? (关于这个函数的文档似乎很少,或者我不知道去哪里找。)
最佳答案
Swift 标准库没有“多维数组”,
但是如果你指的是“嵌套数组”(即数组数组)那么
嵌套的 contains()
可以工作,例如:
let array = [["a", "b"], ["c", "d"], ["e", "f"]]
let c = array.contains { $0.contains("d") }
print(c) // true
这里的内部 contains()
方法是
public func contains(element: Self.Generator.Element) -> Bool
外层的contains()
方法是基于谓词的
public func contains(@noescape predicate: (Self.Generator.Element) throws -> Bool) rethrows -> Bool
一旦在其中找到给定元素,它就返回 true
内部数组。
这种方法可以推广到更深的嵌套级别。
关于Swift 2 将 "contains"函数与多维数组一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35811848/