joseph.hainline
joseph.hainline

Reputation: 26628

How do I fetch the last element of an array in Swift?

I can do this:

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

but surely there's a prettier way?

Upvotes: 92

Views: 101572

Answers (6)

user187676
user187676

Reputation:

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.

Upvotes: 110

Hamid Tayebi
Hamid Tayebi

Reputation: 241

swift 5:

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

Upvotes: 12

Ahmed Safadi
Ahmed Safadi

Reputation: 453

edit for swift 2.2

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

Upvotes: 2

mythz
mythz

Reputation: 143339

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

Upvotes: 94

pbaranski
pbaranski

Reputation: 24972

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)

Upvotes: 9

BLC
BLC

Reputation: 2290

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

Code:

let lastElement = yourArray.last

Upvotes: 26

Related Questions