一定有一些非常优雅的方法可以使用 Swift 从某个索引开始复制数组的末尾,但我就是找不到它,所以我以此结尾:
func getEndOfArray<T>( arr : [T], fromIndex : Int? = 0) -> [T] {
var i=0;
var newArray : [T] = [T]()
for item in arr {
if i >= fromIndex {
newArray.append(item)
}
i = i + 1;
}
return newArray // returns copy of the array starting from index fromIndex
}
有没有更好的方法可以做到这一点而无需额外的功能?
最佳答案
还有一个……
let array = [1, 2, 3, 4, 5]
let fromIndex = 2
let endOfArray = array.dropFirst(fromIndex)
print(endOfArray) // [3, 4, 5]
这给出了一个 ArraySlice
对大多数人来说应该足够好了
目的。如果你需要一个真正的 Array
,使用
let endOfArray = Array(array.dropFirst(fromIndex))
如果起始索引大于(或等于)元素计数,则创建一个空数组/切片。
关于swift - 如何快速复制数组的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414801/