Menu
Coddy logo textTech

配列のスライス パート1

CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 73/86。

配列全体ではなく、その一部だけが必要になることがあります。Swiftでは、範囲演算子を使った配列スライスによって、要素のサブセットを簡単に抽出できます。

スライスを取得するには、添字の角括弧内に範囲を指定します。最も一般的な方法では、半開範囲演算子(..<)を使用します。これは開始インデックスを含み、終了インデックスを除外します。

let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)  // [20, 30, 40]

ここで、1..<4 はインデックス 1、2、3 の要素を返しますが、インデックス 4 は返しません。停止したい位置が正確にわかっている場合に便利です。

endインデックスを含める場合は、閉区間演算子(...)を使用します:

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

重要な点が1つあります。スライスの結果は通常のArrayではなく、ArraySliceです。本当の配列が必要な場合は、Array()でラップします。

let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced)  // [1, 2, 3]
challenge icon

チャレンジ

簡単
numbersstartendを受け取り、開始インデックスから終了インデックス(終了インデックスは含まない)までの配列のスライスを返す関数 getMiddleElements を作成してください。

半開区間演算子(..<)を使用して配列の指定された部分を抽出し、通常の配列として返してください。

パラメーター:

  • numbers[Int]):スライスする配列
  • startInt):開始インデックス(含む)
  • endInt):終了インデックス(含まない)

戻り値:開始インデックスから終了インデックス(終了インデックスは含まない)までの要素を含む配列([Int]

例:numbers[10, 20, 30, 40, 50, 60]start1end4 の場合、関数は [20, 30, 40] を返します。

自分で試してみよう

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // ここにコードを書いてください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド