Mogę to zrobić:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
ale na pewno jest ładniejszy sposób?
Mogę to zrobić:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
ale na pewno jest ładniejszy sposób?
lastIndexvar, który jest dostępny w Kotlinie. Wygląda na to, że na razie będę musiał się trzymać endIndex - 1.
Odpowiedzi:
Aktualizacja: Swift 2.0 zawiera teraz first:T?i last:T?wbudowane właściwości.
Kiedy zajdzie taka potrzeba, możesz upiększyć wbudowany interfejs Swift API, udostępniając własne rozszerzenia, np .:
extension Array {
var last: T {
return self[self.endIndex - 1]
}
}
Umożliwia to teraz dostęp do ostatniego elementu w dowolnej tablicy za pomocą:
[1,5,7,9,22].last
endIndexnie trzeba odwoływać się za pośrednictwem self.
lastwłaściwość jest wbudowana (taka, jaka jest first). Zwraca, niljeśli tablica jest pusta.
Od beta5tamtej pory istnieje firsti lastwłaściwość
Oprócz pozyskiwania przez Array first i last, leniwe kolekcje również implementują first (i last, jeśli mogą indeksować dwukierunkowo), a także isEmpty.
Możesz także pobrać i usunąć ostatni element z tablicy
removeLast()
Przykład:
var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3
Zaczerpnięte z dokumentów Apple (to źródło wygasło, ale przykłady można znaleźć na tej stronie dokumentacji )
szybki 5:
if let last = a.last {
print(last)
}
edytuj dla Swift 2.2
extension Array {
var last: Element {
return self[self.endIndex - 1]
}
}