通常查找一个数组元素的索引是通过
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")
})
网友评论