数组 – 在Swift中,最简单的方法是在Array中获取最后两个项目?
发布时间:2020-12-14 05:20:21 所属栏目:百科 来源:网络整理
导读:有没有更清洁的方式来获取 Swift中最后两个数组的项目?一般来说,我尝试避免使用这种方法,因为它很容易被一个一个的索引. (在这个例子中使用Swift 1.2) // Swift -- slices are kind of a hassle?let oneArray = ["uno"]let twoArray = ["uno","dos"]let thr
有没有更清洁的方式来获取
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 slices myList = ["uno","tres"] print myList[-2:] # ["dos","tres"]
是的,我有一个增强请求,要求负号索引符号,我建议你也提交一个. 但是,你不应该使自己比你更难.内置的全局后缀功能完全符合您的要求: 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"] 结果是一个切片,但如果需要,您可以将其强制转换为数组. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 如何获取所选行Devexpress GridView的字段值?
- ruby – `require`和`gem`之间有什么区别
- reactjs – 如何将React从0.13升级到15.0.1?
- ruby-on-rails – 如何将环境变量传递给从另一个Rake任务调
- 正则表达式模式匹配的String方法
- ruby-on-rails – 在Devise用户模型中编辑自定义字段
- Cocos2d-x Array Samples 数组初始化、字符转浮点值,数组纬
- c# – 如何使用数据绑定正确更改WPF中的控件状态?
- Picker View 教程
- [ReactiveCocoa](翻译|巨坑)Basic Operators基本操作