少しでも楽しいものに置き換えて考えてみよう!ということで、SPY×FAMILYを例にすることにしました。
配列を"逆順"に並び替える
配列を逆順に並び替えるときにはreverse()
を使用する。
var characters: [String] = ["ロイド", "ヨル", "アーニャ", "ボンド", "ダミアン"]
characters.reverse()
print(characters) //["ダミアン", "ボンド", "アーニャ", "ヨル", "ロイド"]
配列を逆順に回したいときreversed()
を使用する。
var characters: [String] = ["ロイド", "ヨル", "アーニャ", "ボンド", "ダミアン"]
for characters in characters.reversed() {
print(characters)
}
// ダミアン
// ボンド
// アーニャ
// ヨル
// ロイド
配列を"昇順"に並び替える
昇順にソートする場合はsort()
を使用する。
文字列の場合は英語だったらアルファベット順、日本語だったらあいうえお順になります。
var characters: [String] = ["ロイド", "ヨル", "アーニャ", "ボンド", "ダミアン"]
characters.sort()
print(characters) //["アーニャ", "ダミアン", "ボンド", "ヨル", "ロイド"]
// 数値の場合
var numbers: [Int] = [100, -100, 9, 1, 0, -1, 40]
numbers.sort()
print(numbers) //[-100, -1, 0, 1, 9, 40, 100]
配列を"降順"に並び替える
降順にソートするときはsort(by: >)
を使用する。
文字列も数値も昇順の逆になります。
var characters: [String] = ["ロイド", "ヨル", "ボンド", "ダミアン", "アーニャ"]
characters.sort(by: >)
print(characters) //["ロイド", "ヨル", "ボンド", "ダミアン", "アーニャ"]
# 数値の場合
var numbers: [Int] = [100, -100, 9, 1, 0, -1, 40]
numbers.sort(by: >)
print(numbers) //[100, 40, 9, 1, 0, -1, -100]
配列を"ランダム"に並び替える
配列をランダムに並び替えるときはshuffle
を使用する。
var characters: [String] = ["ロイド", "ヨル", "ボンド", "ダミアン", "アーニャ"]
characters.shuffle()
print(characters) //["ダミアン", "アーニャ", "ボンド", "ロイド", "ヨル"]
配列の"指定の位置の中身"を交換して並び替える
指定の位置にある要素同士を入れ替える場合はswapAt(_:_:)
を使用する。
入れ替えたい配列の位置のindex番号を指定する。
var characters: [String] = ["ロイド", "ヨル", "ボンド", "ダミアン", "アーニャ"]
characters.swapAt(0, 4)
print(characters) //["アーニャ", "ヨル", "ボンド", "ダミアン", "ロイド"]
// 数値の場合
var numbers: [Int] = [1, 2, 3, 4, 5,]
numbers.swapAt(0, 4)
print(numbers) //[5, 2, 3, 4, 1]