Tôi có thể làm điều này:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
nhưng chắc chắn có một cách đẹp hơn?
Tôi có thể làm điều này:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
nhưng chắc chắn có một cách đẹp hơn?
lastIndex
var, có sẵn trong Kotlin. Có vẻ như bây giờ tôi phải gắn bó với endIndex - 1
nó.
Câu trả lời:
Cập nhật: Swift 2.0 hiện đã bao gồm first:T?
và last:T?
các thuộc tính được tích hợp sẵn.
Khi cần, bạn có thể làm cho Swift API tích hợp sẵn đẹp hơn bằng cách cung cấp các tiện ích mở rộng của riêng bạn, ví dụ:
extension Array {
var last: T {
return self[self.endIndex - 1]
}
}
Điều này cho phép bạn bây giờ truy cập phần tử cuối cùng trên bất kỳ mảng nào với:
[1,5,7,9,22].last
endIndex
không cần phải được tham chiếu qua self
.
last
tính được tích hợp sẵn (nguyên trạng first
). Nó trả về nil
nếu mảng trống.
Như beta5
bây giờ có một first
và last
tài sản
Ngoài Array có được đầu tiên và cuối cùng, các tập hợp lười biếng cũng triển khai đầu tiên (và cuối cùng nếu chúng có thể lập chỉ mục hai chiều), cũng như isEmpty.
Bạn cũng có thể lấy và xóa phần tử cuối cùng khỏi mảng
removeLast()
Thí dụ:
var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3
Lấy từ tài liệu của Apple (nguồn này đã hết hạn nhưng bạn có thể tìm thấy các ví dụ trong trang tài liệu này )
nhanh 5:
if let last = a.last {
print(last)
}
chỉnh sửa cho nhanh 2.2
extension Array {
var last: Element {
return self[self.endIndex - 1]
}
}