如何在Swift中获取数组的最后一个元素?

时间:2014-06-04 05:10:35

标签: swift

我可以这样做:

var a = [1,5,7,9,22]
a.count               // 5
a[a.count - 1]        // 22
a[a.endIndex - 1]     // 22

但肯定有一种更漂亮的方式吗?

6 个答案:

答案 0 :(得分:96)

截至beta5,现在有一个firstlast属性

  

除了第一个和最后一个数组获取之外,延迟集合还首先实现(如果它们可以双向索引,则为最后一个),以及isEmpty。

答案 1 :(得分:79)

更新:Swift 2.0现在包含内置的first:T?last:T?属性。


如果您需要,可以通过提供自己的扩展程序使内置的Swift API更漂亮,例如:

extension Array {
    var last: T {
        return self[self.endIndex - 1]
    }
}

这使您现在可以使用以下命令访问任何数组上的最后一个元素:

[1,5,7,9,22].last

答案 2 :(得分:19)

您可以使用curl -XGET "http://127.0.0.1:9200/elasticwarehousestorage/files/_search" -d '{ "query": { "term": { "filetext": { "value": "hamburgers" } } } }' 属性获取数组的最后一个元素。

代码:

last

答案 3 :(得分:8)

您还可以从阵列中获取和删除最后一个元素 removeLast()

示例:

var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3

取自Apple文档(此来源已过期,但您可以在此documentation page中找到示例)

答案 4 :(得分:0)

编辑swift 2.2

extension Array {
    var last: Element {
        return self[self.endIndex - 1]
    }
}

答案 5 :(得分:0)

迅速5:

if let last = a.last {
   print(last)
}
相关问题