|
|||||
|
対象: 配列をソートする(Swift)Arrayのsortメソッドを使うと、その配列自身をソートすることができる。対象の配列は文字列であっても数値であっても良い。sortメソッドに渡す比較演算子(より厳密に言うと演算子関数)によって昇順、または降順を選択できる。例えば、sortメソッドに比較演算子(<)を渡すと配列は昇順にソートされる。
// sortメソッドは配列そのものをソートする
var stationery = ["stapler", "pen", "scissors"]
stationery.sort(by: <)
for s in stationery {
print(s)
}
上記のコードの実行結果は以下になる。 pen scissors stapler コードの可読性を良くしたいなら、sortメソッドに比較演算子でなく、以下のようにクロージャを渡しても良いだろう。
stationery.sort { $0 < $1 }
// ↓でも同じ
// stationery.sort(by: { $0 < $1 })
// stationery.sort()
sortメソッドではなくsortedメソッドを使うと、その配列自身を複製してソートした配列を得ることができる。つまり、sortedメソッドを使った場合には、元の配列には何ら影響がなく、下記の例のscores配列はletで宣言できる。
// sortメソッドはソートした新しい配列を返す
let scores = [100, 300, 200]
for s in scores.sorted(by: <) {
print(s)
}
100 200 300 (2015/02/16) () Swift 3.0対応。
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]
|
|||||