小编典典

来自Index Range Swift的新数组

swift

我该怎么做?从数组中获取前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
}

阅读 275

收藏
2020-07-07

共1个答案

小编典典

这对我有用:

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]
2020-07-07