मे यह कर सकती हु:
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]
}
}