我怎样才能做这样的事情?从数组中取出前 n 个元素:
newNumbers = numbers[0..n]
当前出现以下错误:
error: could not find an overload for 'subscript' that accepts the supplied arguments
编辑:
这是我正在使用的函数。
func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> {
var newNumbers = numbers[0...position]
return newNumbers
}
最佳答案
这对我有用:
var test = [1, 2, 3]
var n = 2
var test2 = test[0..<n]
您的问题可能在于您如何开始声明数组。
编辑:
要修复您的功能,您必须将 Slice
转换为数组:
func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> {
var newNumbers = Array(numbers[0..<position])
return newNumbers
}
// test
aFunction([1, 2, 3], 2) // returns [1, 2]
关于arrays - Index Range Swift 中的新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034398/