1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

タカシAdvent Calendar 2022

Day 25

【Swift】配列の並び替えをSPY×FAMILYを例にして学ぶ

Posted at

少しでも楽しいものに置き換えて考えてみよう!ということで、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]
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?