相关疑难解决方法(0)

在Swift中,获取数组中最后两项的最简洁方法是什么?

是否有更简洁的方法来获取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"]
Run Code Online (Sandbox Code Playgroud)

我希望能有更接近Python的便利性.

## Python -- very convenient slices
myList = ["uno", "dos", "tres"]
print …
Run Code Online (Sandbox Code Playgroud)

arrays slice swift

25
推荐指数
4
解决办法
2万
查看次数

标签 统计

arrays ×1

slice ×1

swift ×1