Я можу зробити це:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
але, звичайно, є кращий спосіб?
Я можу зробити це:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
але, звичайно, є кращий спосіб?
lastIndex
var, який доступний у Kotlin. Здається, мені поки що доведеться дотримуватися endIndex - 1
.
Відповіді:
Оновлення: Swift 2.0 тепер включає first:T?
та last:T?
вбудовані властивості.
Коли вам потрібно, ви можете зробити вбудований API Swift гарнішим, надавши власні розширення, наприклад:
extension Array {
var last: T {
return self[self.endIndex - 1]
}
}
Тепер ви можете отримати доступ до останнього елемента будь-якого масиву за допомогою:
[1,5,7,9,22].last
endIndex
не потрібно посилатися через self
.
last
властивість вбудована (як є first
). Він повертається, nil
якщо масив порожній.
Станом на beta5
зараз є first
і last
власність
На додаток до отримання масиву Array першим і останнім, ліниві колекції також реалізують first (і останній, якщо вони можуть індексувати двонаправлено), а також isEmpty.
Ви також можете отримати та видалити останній елемент із масиву
removeLast()
Приклад:
var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3
Взято з документів Apple (це джерело минуло, але приклади можна знайти на цій сторінці документації )
стрімкий 5:
if let last = a.last {
print(last)
}
швидко редагувати 2.2
extension Array {
var last: Element {
return self[self.endIndex - 1]
}
}