2016-04-22 29 views
2

有一個沒有任何順序的名單。 如何按字母順序對名單進行排序? 我的意思是如何比較兩個字符串以找出更大的字符串? 有沒有像Java一樣的方法或功能來做到這一點?如何在Swift中對名稱(字符串)列表進行排序?

在Java中,我們可以使用

"abc".compareTo("abb"); 

比較字符串更大或更小。

+0

@ marek -r我已經取消了你的編輯,因爲它引入了不相關的標籤。這個問題與NSString或OSX無關(這個Swift代碼可以是多平臺的)。請避免添加不需要的標籤。謝謝。 – Moritz

+1

@ kb920我對Marek-R的評論也適用於您。這個問題與iOS無關。請不要添加不相關的標籤。謝謝。 – Moritz

回答

2

是的。你可以使用像下面這樣的排序函數,

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) 
+1

'names.sort(<)' –

+1

yeah @LeoDabus,即使是分揀機。酷.. –

+0

請注意,上面使用的'<'將使用字典對比,它將排序。 ''alexanda''之前的'Daniella'',這可能不是OP的意圖。要進行不區分大小寫的排序,請將上述內容修改爲例如'let sorted = names.sort {$ 0.lowercaseString <$ 1.lowercaseString}'。 – dfri

相關問題