Skip to content

Swiftで配列からランダムに要素を取り出す

   

Swiftで配列からランダムに要素を取り出す方法です。 配列をシャッフルした後に先頭の要素を取得しています。

// 0, 1, 2, ... 9 の配列からランダムに5要素抽出する
var numbers: [Int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers)  // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

// 配列をシャッフルする
numbers.shuffle()
print(numbers)  // [1, 7, 9, 4, 6, 2, 0, 3, 8, 5]

// .prefix を使い先頭の5要素を取得する。prefix の戻り値の型は Array<T> ではなく、ArraySlice<T> なので変換する必要がある。
let arraySlicedNumbers: ArraySlice<Int> = numbers.prefix(5)
let slicedNumbers: [Int] = Array(arraySlicedNumbers)
print(slicedNumbers)    // [1, 7, 9, 4, 6]

関連記事

  1. Swiftで数字が連番になった配列を作成する
  2. Swiftで16進数を使う
  3. Swiftで桁数を指定する
  4. Swiftで関数の引数にジェネリクスを使う
  5. PlaygroundでViewのプレビューを表示する
  6. SwiftでSetから要素を削除する
  7. MKMapViewで経路を表示する