1. 程式人生 > >swift-tips之如何查詢陣列物件的index

swift-tips之如何查詢陣列物件的index

Swift-Version:4.2.1

正文

我們在開發中經常會碰到這樣一種需求:查詢某個element在陣列中的index。首先,我們想到的是通過for-in來獲取index。但是這樣效率比較低,而且不夠優雅。我們其實可以通過一種優雅的方式,就是下面Swift中陣列提供的兩個API:

//獲取第一個element的index
public func firstIndex(of element: Element) -> Int?
//獲取最後一個element的index
public func lastIndex(of element: Element) -> Int?
複製程式碼

示例:

let num = [11,22,33,44,55,33]
//輸出2
print(num.firstIndex(of: 33))
//輸出5
print(num.lastIndex(of: 33))
複製程式碼

注:

  • 該API返回的值是一個optional,因為可能存在陣列不包含查詢的element的情況
  • 通過API的名字可以看出,只能查詢第一個element和最後一個element,並不能查詢中間的element。比如上面的陣列如果出現三次33,這兩個API只能返回第一個和最後一個的index

我的github-blog

參考