如何在 Swift 中获取数组的最后一个元素?

我能做到:

var a = [1,5,7,9,22]
a.count               // 5
a[a.count - 1]        // 22
a[a.endIndex - 1]     // 22

但肯定还有更好的办法吧?

87654 次浏览

Update: Swift 2.0 now includes first:T? and last:T? properties built-in.


When you need to you can make the built-in Swift API's prettier by providing your own extensions, e.g:

extension Array {
var last: T {
return self[self.endIndex - 1]
}
}

This lets you now access the last element on any array with:

[1,5,7,9,22].last

As of beta5 there is now a first and last property

In addition to Array acquiring first and last, the lazy collections also implement first (and last if they can index bidirectionally), as well as isEmpty.

You can also get and remove last element from array
removeLast()

Example:

var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3

Taken from Apple docs (this source expired but you can find examples in this documentation page)

You can fetch the last element of an Array by using the last property.

Code:

let lastElement = yourArray.last

edit for swift 2.2

extension Array {
var last: Element {
return self[self.endIndex - 1]
}
}

swift 5:

if let last = a.last {
print(last)
}