通常查找一個數組元素的索引是通過
index(of: )
方法
- 例如:
let array = ["a", "b", "c", "d"]
let index = array.index(of: "d")
但是如果 數組中 包裹"數組"或"字典"或"其他類型的元素"時,swift 的
Array
類型就不能夠使用index(of: )
方法了。
(NSArray
仍然可以使用index(of: Any)
方法)
這時就需要使用
array.index(where: () throws -> Bool)
方法
- 例如:
let array = [ ["a", "b"], ["c", "d"] ]
// 找出包含 d 的那一個數組元素
let index = array.index(where: { $0.index(of: "d") != nil })
// 或者
let index = array.index(where: { (arr) -> Bool in
arr.index(of: "d")
})