数组 – 在Swift中,最简单的方法是在Array中获取最后两个项目?

数组 – 在Swift中,最简单的方法是在Array中获取最后两个项目?,第1张

概述有没有更清洁的方式来获取 Swift中最后两个数组的项目?一般来说,我尝试避免使用这种方法,因为它很容易被一个一个的索引. (在这个例子中使用Swift 1.2) // Swift -- slices are kind of a hassle?let oneArray = ["uno"]let twoArray = ["uno", "dos"]let threeArray = ["uno", 有没有更清洁的方式来获取 Swift中最后两个数组的项目?一般来说,我尝试避免使用这种方法,因为它很容易被一个一个的索引. (在这个例子中使用Swift 1.2)
// Swift -- slices are kind of a hassle?let oneArray = ["uno"]let twoArray = ["uno","dos"]let threeArray = ["uno","dos","tres"]func getLastTwo(array: [String]) -> [String] {    if array.count <= 1 {        return array    } else {        let slice: ArraySlice<String> = array[array.endindex-2..<array.endindex]        var lastTwo: Array<String> = Array(slice)        return lastTwo    }}getLastTwo(oneArray)   // ["uno"]getLastTwo(twoArray)   // ["uno","dos"]getLastTwo(threeArray) // ["dos","tres"]

我希望更接近Python的方便.

## Python -- very convenIEnt slicesmyList = ["uno","tres"]print myList[-2:] # ["dos","tres"]

myList[-2:]

是的,我有一个增强请求,要求负号索引符号,我建议你也提交一个.

但是,你不应该使自己比你更难.内置的全局后缀功能完全符合您的要求:

let oneArray = ["uno"]let twoArray = ["uno","tres"]let arr1 = suffix(oneArray,2) // ["uno"]let arr2 = suffix(twoArray,2) // ["uno","dos"]let arr3 = suffix(threeArray,2) // ["dos","tres"]

结果是一个切片,但如果需要,您可以将其强制转换为数组.

总结

以上是内存溢出为你收集整理的数组 – 在Swift中,最简单的方法是在Array中获取最后两个项目?全部内容,希望文章能够帮你解决数组 – 在Swift中,最简单的方法是在Array中获取最后两个项目?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1027407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存