swift 查找数组元素的索引

2019-11-14  本文已影响0人  代码移动工程师

通常查找一个数组元素的索引是通过

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")
})
上一篇 下一篇

猜你喜欢

热点阅读