インデックス範囲からの新しい配列 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
}

ベストアンサー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]

おすすめ記事