मे यह कर सकती हु:
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
वर्जन है, जो कोटलिन में उपलब्ध है। लगता है जैसे मैं endIndex - 1
अब के लिए के साथ रहना होगा ।
जवाबों:
अपडेट: स्विफ्ट 2.0 में अब अंतर्निर्मित first:T?
और last:T?
संपत्तियां शामिल हैं ।
जब आप की जरूरत है आप अपने स्वयं के एक्सटेंशन प्रदान करके स्विफ्ट एपीआई के प्रीटीयर बना सकते हैं, जैसे:
extension Array {
var last: T {
return self[self.endIndex - 1]
}
}
इससे अब आप किसी भी सरणी पर अंतिम तत्व का उपयोग कर सकते हैं:
[1,5,7,9,22].last
endIndex
माध्यम से संदर्भित करने की आवश्यकता नहीं है self
।
last
संपत्ति अंतर्निहित (जैसा है first
)। nil
यदि सरणी खाली है तो यह वापस आ जाता है।
beta5
वहाँ के रूप में अब एक first
और last
संपत्ति है
पहले और आखिरी को प्राप्त करने वाले एरे के अलावा, आलसी संग्रह भी पहले (और आखिरी यदि वे अप्रत्यक्ष रूप से अनुक्रमित कर सकते हैं) को लागू करते हैं, साथ ही साथ खाली भी हो जाते हैं।
आप सरणी से अंतिम तत्व भी प्राप्त कर सकते हैं और निकाल सकते हैं
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]
}
}