有一個沒有任何順序的名單。 如何按字母順序對名單進行排序? 我的意思是如何比較兩個字符串以找出更大的字符串? 有沒有像Java一樣的方法或功能來做到這一點?如何在Swift中對名稱(字符串)列表進行排序?
在Java中,我們可以使用
"abc".compareTo("abb");
比較字符串更大或更小。
有一個沒有任何順序的名單。 如何按字母順序對名單進行排序? 我的意思是如何比較兩個字符串以找出更大的字符串? 有沒有像Java一樣的方法或功能來做到這一點?如何在Swift中對名稱(字符串)列表進行排序?
在Java中,我們可以使用
"abc".compareTo("abb");
比較字符串更大或更小。
是的。你可以使用像下面這樣的排序函數,
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
var reversed = names.sort({s1,s2 in s1 < s2})
//var reversed = names.sort {$0 < $1} // Shorter version of Closure.
print(reversed)
'names.sort(<)' –
yeah @LeoDabus,即使是分揀機。酷.. –
請注意,上面使用的'<'將使用字典對比,它將排序。 ''alexanda''之前的'Daniella'',這可能不是OP的意圖。要進行不區分大小寫的排序,請將上述內容修改爲例如'let sorted = names.sort {$ 0.lowercaseString <$ 1.lowercaseString}'。 – dfri
@ marek -r我已經取消了你的編輯,因爲它引入了不相關的標籤。這個問題與NSString或OSX無關(這個Swift代碼可以是多平臺的)。請避免添加不需要的標籤。謝謝。 – Moritz
@ kb920我對Marek-R的評論也適用於您。這個問題與iOS無關。請不要添加不相關的標籤。謝謝。 – Moritz