0
0

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.

[Swift]配列の要素を並び替える方法

Posted at

配列をsortで並び替える[数字]

countという配列を昇順で並び替えるためには、sortを使います。

var count = [1,4,8,3,2]
print(count)

count.sort()
print(count)

結果

[1, 4, 8, 3, 2]
[1, 2, 3, 4, 8]

昇順で並び替えられてますね!

降順で並び替えるには,sort(by: >) を使います。

var count = [1,4,8,3,2]
print(count)

count.sort(by: >)
print(count)

結果

[1, 4, 8, 3, 2]
[8, 4, 3, 2, 1]

配列をsortで並び替える[文字列]

アルファベットの時

var alpha = ["Aomori","Oosaka","Gihu","Tokyo","Fukuoka","Okinawa"]
print(alpha)

alpha.sort()
print(alpha)

結果

["Aomori", "Oosaka", "Gihu", "Tokyo", "Fukuoka", "Okinawa"]
["Aomori", "Fukuoka", "Gihu", "Okinawa", "Oosaka", "Tokyo"]

アルファベットの時は、ソートするとアルファベット順になりますね!

かなのとき

var kana = ["あおもり","おおさか","ぎふ","とうきょう","ふくおか","おきなわ"]
print(kana)

kana.sort()
print(kana)

結果

["あおもり", "おおさか", "ぎふ", "とうきょう", "ふくおか", "おきなわ"]
["あおもり", "おおさか", "おきなわ", "ぎふ", "とうきょう", "ふくおか"]

かなのときは50音順になりますね!

漢字の時

var prefecture = ["青森","大阪","沖縄","岐阜","東京","福岡"]
print(prefecture)

prefecture.sort()
print(prefecture)

結果

["青森", "大阪", "沖縄", "岐阜", "東京", "福岡"]
["大阪", "岐阜", "東京", "沖縄", "福岡", "青森"]

漢字の時はよくわからない順番になります。。。何か理由があるのでしょうか。。。?

構造体を配列にしたとき、並び替える方法

struct Anime {
    var title: String
    var date: Int
}


var animes = [
    Anime(title: "ヴァイオレットエヴァーガーデン", date: 2012),
    Anime(title: "るろうに剣心", date: 1996),
    Anime(title: "薬屋のひとりごと", date: 2023),
    Anime(title: "会長はメイド様", date: 2010),
]

このようなアニメのデータがあったとします。
これをdate 順で並び替えたいとします。

その時には、sort(by を使います。

animes.sort(by: {$0.date < $1.date})

並び替えたい要素であるdateを入れます。

for data in animes {
    print("タイトル: \(data.title), 公開年: \(data.date)")
}

結果

タイトル: るろうに剣心, 公開年: 1996
タイトル: 会長はメイド様, 公開年: 2010
タイトル: ヴァイオレットエヴァーガーデン, 公開年: 2012
タイトル: 薬屋のひとりごと, 公開年: 2023

このように、データをdate順に並び替えることができます!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?