[Swift]辞書をキーによってソートするには?

Swift

どうも、ちょげ(@chogetarou)です。

Swiftで辞書をキーでソートする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

辞書をキーでソートするには、sortedメソッドを使います。

まず、「dic.sorted(by : {})」のように、辞書のsortedメソッドを呼び出します。

そして、引数「by」のクロージャ内でkeyを比較する条件式を指定します。

条件に使う要素の2つのキーは、「$0.key」と「$1.key」で取得することができます。

dic.sorted(by: { $0.key < $1.key})

sortedメソッドは、ソートした辞書を戻り値として返します。

sortedは、ソートした結果を返すだけで、元々の辞書には影響を与えません。

大小の比較演算子(>と<)が、「<」の場合は昇順、「>」の場合は降順となります。

使用例

以下は、使用例です。

var dic = [
    "D" : 1,
    "C" : 2,
    "A" : 3,
    "B" : 4,
]

print(dic.sorted(by: { $0.key < $1.key}))
//出力:[
//     (key: "A", value: 3),
//     (key: "B", value: 4),
//     (key: "C", value: 2),
//     (key: "D", value: 1)
//    ]

コメント

タイトルとURLをコピーしました